6.4 tempfile -- Generate temporary file names.

This module generates temporary file names. It is not Unix specific, but it may require some help on non-Unix systems.

Note: the modules does not create temporary files, nor does it automatically remove them when the current process exits or dies.

The module defines a single user-callable function:

mktemp ()
Return a unique temporary filename. This is an absolute pathname of a file that does not exist at the time the call is made. No two calls will return the same filename.

The module uses two global variables that tell it how to construct a temporary name. The caller may assign values to them; by default they are initialized at the first call to mktemp().

tempdir
When set to a value other than None, this variable defines the directory in which filenames returned by mktemp() reside. The default is taken from the environment variable $TMPDIR; if this is not set, either "/usr/tmp" is used (on Unix), or the current working directory (all other systems). No check is made to see whether its value is valid.

template
When set to a value other than None, this variable defines the prefix of the final component of the filenames returned by mktemp(). A string of decimal digits is added to generate unique filenames. The default is either "@pid." where pid is the current process ID (on Unix), or "tmp" (all other systems).

Warning: if a Unix process uses mktemp(), then calls fork() and both parent and child continue to use mktemp(), the processes will generate conflicting temporary names. To resolve this, the child process should assign None to template, to force recomputing the default on the next call to mktemp().