@@ -33,7 +33,51 @@ template: str
3333_StrMode : TypeAlias = Literal ["r" , "w" , "a" , "x" , "r+" , "w+" , "a+" , "x+" , "rt" , "wt" , "at" , "xt" , "r+t" , "w+t" , "a+t" , "x+t" ]
3434_BytesMode : TypeAlias = Literal ["rb" , "wb" , "ab" , "xb" , "r+b" , "w+b" , "a+b" , "x+b" ]
3535
36- if sys .version_info >= (3 , 8 ):
36+ if sys .version_info >= (3 , 12 ):
37+ @overload
38+ def NamedTemporaryFile (
39+ mode : _StrMode ,
40+ buffering : int = - 1 ,
41+ encoding : str | None = None ,
42+ newline : str | None = None ,
43+ suffix : AnyStr | None = None ,
44+ prefix : AnyStr | None = None ,
45+ dir : GenericPath [AnyStr ] | None = None ,
46+ delete : bool = True ,
47+ * ,
48+ errors : str | None = None ,
49+ delete_on_close : bool = True ,
50+ ) -> _TemporaryFileWrapper [str ]: ...
51+ @overload
52+ def NamedTemporaryFile (
53+ mode : _BytesMode = "w+b" ,
54+ buffering : int = - 1 ,
55+ encoding : str | None = None ,
56+ newline : str | None = None ,
57+ suffix : AnyStr | None = None ,
58+ prefix : AnyStr | None = None ,
59+ dir : GenericPath [AnyStr ] | None = None ,
60+ delete : bool = True ,
61+ * ,
62+ errors : str | None = None ,
63+ delete_on_close : bool = True ,
64+ ) -> _TemporaryFileWrapper [bytes ]: ...
65+ @overload
66+ def NamedTemporaryFile (
67+ mode : str = "w+b" ,
68+ buffering : int = - 1 ,
69+ encoding : str | None = None ,
70+ newline : str | None = None ,
71+ suffix : AnyStr | None = None ,
72+ prefix : AnyStr | None = None ,
73+ dir : GenericPath [AnyStr ] | None = None ,
74+ delete : bool = True ,
75+ * ,
76+ errors : str | None = None ,
77+ delete_on_close : bool = True ,
78+ ) -> _TemporaryFileWrapper [Any ]: ...
79+
80+ elif sys .version_info >= (3 , 8 ):
3781 @overload
3882 def NamedTemporaryFile (
3983 mode : _StrMode ,
@@ -185,7 +229,11 @@ class _TemporaryFileWrapper(Generic[AnyStr], IO[AnyStr]):
185229 file : IO [AnyStr ] # io.TextIOWrapper, io.BufferedReader or io.BufferedWriter
186230 name : str
187231 delete : bool
188- def __init__ (self , file : IO [AnyStr ], name : str , delete : bool = True ) -> None : ...
232+ if sys .version_info >= (3 , 12 ):
233+ def __init__ (self , file : IO [AnyStr ], name : str , delete : bool = True , delete_on_close : bool = True ) -> None : ...
234+ else :
235+ def __init__ (self , file : IO [AnyStr ], name : str , delete : bool = True ) -> None : ...
236+
189237 def __enter__ (self ) -> Self : ...
190238 def __exit__ (self , exc : type [BaseException ] | None , value : BaseException | None , tb : TracebackType | None ) -> None : ...
191239 def __getattr__ (self , name : str ) -> Any : ...
0 commit comments