summaryrefslogtreecommitdiffstats
path: root/Lib/tempfile.py
blob: 02e73e1e6e1f9e0585d003959fcd343c1a3d3eae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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