如何创build一个临时目录并获取Python中的path/文件名

如何创build一个临时目录,并获取在Python中的path/文件名

使用tempfile模块中的mkdtemp()函数:

 import tempfile import shutil dirpath = tempfile.mkdtemp() # ... do stuff with dirpath shutil.rmtree(dirpath) 

为了扩展另一个答案,这里是一个相当完整的例子,即使在exception情况下也可以清理tmpdir:

 import contextlib import os import shutil import tempfile @contextlib.contextmanager def cd(newdir, cleanup=lambda: True): prevdir = os.getcwd() os.chdir(os.path.expanduser(newdir)) try: yield finally: os.chdir(prevdir) cleanup() @contextlib.contextmanager def tempdir(): dirpath = tempfile.mkdtemp() def cleanup(): shutil.rmtree(dirpath) with cd(dirpath, cleanup): yield dirpath def main(): with tempdir() as dirpath: pass # do something here 

使用模块tempfile 。

在Python 3.2和更高版本中,在stdlib中有一个有用的上下文pipe理器https://docs.python.org/3/library/tempfile.html#tempfile.TemporaryDirectory