Add an example about using NamedTemporaryFile() to replace mktemp(). I'm

unclear whether the verbatim text should have been indented or by how much.
This commit is contained in:
Skip Montanaro 2008-05-09 00:45:00 +00:00
parent 0893a0a961
commit e404a12a46
1 changed files with 18 additions and 0 deletions

View File

@ -167,6 +167,24 @@ The module defines the following user-callable functions:
Use of this function may introduce a security hole in your program. Use of this function may introduce a security hole in your program.
By the time you get around to doing anything with the file name it By the time you get around to doing anything with the file name it
returns, someone else may have beaten you to the punch. returns, someone else may have beaten you to the punch.
:func:`mktemp` usage can be replaced easily with
:func:`NamedTemporaryFile`, passing it the `delete=False` parameter ::
>>> f = NamedTemporaryFile(delete=False)
>>> print f.name
>>> f.write("Hello World!\n")
>>> f.close()
>>> os.unlink(f.name)
>>> f = NamedTemporaryFile(delete=False)
>>> f
<open file '<fdopen>', mode 'w+b' at 0x384698>
>>> f.name
'/var/folders/5q/5qTPn6xq2RaWqk+1Ytw3-U+++TI/-Tmp-/tmpG7V1Y0'
>>> f.write("Hello World!\n")
>>> f.close()
>>> os.unlink(f.name)
>>> os.path.exists(f.name)
False
The module uses two global variables that tell it how to construct a The module uses two global variables that tell it how to construct a
temporary name. They are initialized at the first call to any of the temporary name. They are initialized at the first call to any of the