]> granicus.if.org Git - python/commitdiff
Add an example about using NamedTemporaryFile() to replace mktemp(). I'm
authorSkip Montanaro <skip@pobox.com>
Fri, 9 May 2008 00:45:00 +0000 (00:45 +0000)
committerSkip Montanaro <skip@pobox.com>
Fri, 9 May 2008 00:45:00 +0000 (00:45 +0000)
unclear whether the verbatim text should have been indented or by how much.

Doc/library/tempfile.rst

index 59cca42ffaaaf570ec9313f6d681a57a3418035d..79fa391d1aadba2e7fdcc6a3ad2db38f9185e5e7 100644 (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.
       By the time you get around to doing anything with the file name it
       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
 temporary name.  They are initialized at the first call to any of the