# 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