diff options
Diffstat (limited to 'Lib/tempfile.py')
-rw-r--r-- | Lib/tempfile.py | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/Lib/tempfile.py b/Lib/tempfile.py new file mode 100644 index 0000000..02e73e1 --- /dev/null +++ b/Lib/tempfile.py @@ -0,0 +1,32 @@ +# Temporary file name allocation + +import posix +import path + + +# Changeable parameters (by clients!)... +# XXX Should the environment variable $TMPDIR override tempdir? + +tempdir = '/usr/tmp' +template = '@' + + +# Kludge to hold mutable state + +class Struct(): pass +G = Struct() +G.i = 0 + + +# User-callable function +# XXX Should this have a parameter, like C's mktemp()? +# XXX Should we instead use the model of Standard C's tempnam()? +# XXX By all means, avoid a mess with four different functions like C... + +def mktemp(): + while 1: + G.i = G.i+1 + file = tempdir +'/'+ template + `posix.getpid()` +'.'+ `G.i` + if not path.exists(file): + break + return file |