Python 创建临时目录以存储计算中使用的文件
python脚本从数据库下载2个表,进行一些计算并创建一个新表,然后上载。这涉及到中间文件,为了存储所有文件,我在当前工作目录中创建了一个名为“temp”的文件夹。在程序退出之前,它会删除temp。这不太好,因为Python 创建临时目录以存储计算中使用的文件,python,language-agnostic,filesystems,temp,Python,Language Agnostic,Filesystems,Temp,python脚本从数据库下载2个表,进行一些计算并创建一个新表,然后上载。这涉及到中间文件,为了存储所有文件,我在当前工作目录中创建了一个名为“temp”的文件夹。在程序退出之前,它会删除temp。这不太好,因为 如果已经有一个名为temp的文件夹,它将被删除 如果程序在删除临时文件的最后一步之前崩溃,那么下次程序运行时会崩溃,因为在上一次执行时存在同名文件 我想这是一种比较常见的情况。通常如何处理 对此有一个公正的解释 import tempfile new_dir = tempfile.mk
import tempfile
new_dir = tempfile.mkdtemp() #makes a new temp folder guaranteed to be unique(in the os-specific temp location)
...
os.remove(new_dir)
真的,我认为你甚至不需要删除新的目录,因为它将在下次重新启动时自动运行通常(*我认为)要解决1,只需将文件夹命名为比
temp
更具体的名称。您可能还想添加一个检查,查看文件是否已经存在,并可能覆盖/删除它们。使用try/finally或atexit
处理程序调用os.remove()
。您可以使用dir
参数在当前目录中创建临时目录。