From: Skip Montanaro Date: Fri, 9 May 2008 00:45:00 +0000 (+0000) Subject: Add an example about using NamedTemporaryFile() to replace mktemp(). I'm X-Git-Tag: v2.6b1~567 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e404a12a46485641ec69db0cf3bd507e210b31b4;p=python Add an example about using NamedTemporaryFile() to replace mktemp(). I'm unclear whether the verbatim text should have been indented or by how much. --- diff --git a/Doc/library/tempfile.rst b/Doc/library/tempfile.rst index 59cca42ffa..79fa391d1a 100644 --- a/Doc/library/tempfile.rst +++ b/Doc/library/tempfile.rst @@ -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 + ', 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