0
0
mirror of https://github.com/python/cpython.git synced 2024-11-30 18:51:15 +01:00
cpython/Lib/tempfile.py

60 lines
1.2 KiB
Python
Raw Normal View History

1991-11-12 16:38:08 +01:00
# Temporary file name allocation
#
# XXX This tries to be not UNIX specific, but I don't know beans about
# how to choose a temp directory or filename on MS-DOS or other
# systems so it may have to be changed...
1991-11-12 16:38:08 +01:00
import os
1991-11-12 16:38:08 +01:00
# Parameters that the caller may set to override the defaults
1991-11-12 16:38:08 +01:00
tempdir = None
template = None
# Function to calculate the directory to use
def gettempdir():
global tempdir
if tempdir == None:
try:
tempdir = os.environ['TMPDIR']
except (KeyError, AttributeError):
if os.name == 'posix':
tempdir = '/usr/tmp' # XXX Why not /tmp?
else:
tempdir = os.getcwd() # XXX Is this OK?
return tempdir
# Function to calculate a prefix of the filename to use
def gettempprefix():
global template
if template == None:
if os.name == 'posix':
template = '@' + `os.getpid()` + '.'
else:
template = 'tmp' # XXX might choose a better one
return template
1991-11-12 16:38:08 +01:00
1991-12-26 14:10:50 +01:00
# Counter for generating unique names
1991-11-12 16:38:08 +01:00
1991-12-26 14:10:50 +01:00
counter = 0
1991-11-12 16:38:08 +01:00
# User-callable function to return a unique temporary file name
1991-11-12 16:38:08 +01:00
def mktemp():
1991-12-26 14:10:50 +01:00
global counter
dir = gettempdir()
pre = gettempprefix()
1991-11-12 16:38:08 +01:00
while 1:
counter = counter + 1
file = os.path.join(dir, pre + `counter`)
if not os.path.exists(file):
return file