tempfile目录最终是否被系统清除

Joo*_*oop 3 python temporary-files

我正在使用脚本进行一些处理,并且当前正在使用固定目录来执行此文件操作.我想使用tempfile模块的tempdir以更优雅的方式执行此操作.

使用以下代码:

import os
import tempfile

#define the location of 'mytemp' parent folder relative to the system temp
sysTemp = tempfile.gettempdir()
myTemp = os.path.join(sysTemp,'mytemp')

#You must make sure myTemp exists
if not os.path.exists(myTemp):
    os.makedirs(myTemp)
Run Code Online (Sandbox Code Playgroud)

在我的Mac上它创建了一个文件夹:/ var/folders/nn/zyl78zb .....在PC上它创建了一个(我的用户目录中的隐藏文件夹).

从tempfile模块文档我明白,如果你创建一个tempdir,你必须自己清除它.有时我想去查看中间文件,所以我不想自动删除它们. 如果我离开它们,操作系统最终会清理这些目录(重启后等)? 如果我不直接从脚本中清除它们,下面的运行可能会得到一个不同的tempdir.这最终可能导致大量未使用和不需要的文件.

我已经搜索了tempfile文档,但似乎无法找到答案.这可能是一个操作系统问题,但有临时文件模块经验的人应该知道.

Ant*_*ala 5

例如在Linux上经常/tmp在启动时清除.但请记住,许多服务器可能连续运行多年,因此最好不要指望重新启动.然后在Windows上,每当运行磁盘清理时都会清除临时值,如果不是的话.您的程序负责删除存在的临时文件; 最好的方法是在打开后立即取消链接(在Unixen上); tempfile无论你做什么,都可以使用模块中提供的最佳机制.