Python tempdir.mkdtemp()
has an annoying feature, it doesn't clean up after itself.
This idea comes from my friend and colleague Mike.
class TempDir(object):
def __init__(self, suffix='', prefix='tmp', dir=None):
import tempfile
self.tdir = tempfile.mkdtemp(suffix, prefix, dir)
def __enter__(self):
return self.tdir
def __exit__(self, type, value, traceback):
try:
import shutil
shutil.rmtree( self.tdir )
except:
import sys
print >> sys.stderr, "could not delete '%'" % self.tdir
Use like so:
with TempDir() as tdir:
print "path to tempdir is: %s" % tdir
os.path.join( tdir, other_file )
# some other awesome codez go here
# at this point, tdir is now deleted
If that seems magical, read up on context managers