python - 我应该删除脚本创建的临时文件吗?

标签 python bash shell operating-system temp

这是一个常见问题,并非专门针对某种语言或平台。谁负责在系统 $TEMP 文件夹中创建的文件? 如果这是我的职责,我为什么要关心把这个文件放在哪里?我可以将它放在任何地方,结果相同。 如果是操作系统的责任,我可以在使用后立即忘记这个文件吗?

感谢并抱歉我的英语很基础。

最佳答案

作为一般规则,您应该删除您创建的临时文件。

回想一下 $TEMP 目录是其他程序可以使用的共享资源。未能删除临时文件将对使用 $TEMP 的其他程序产生影响。

什么样的影响?这将取决于其他程序。如果那些其他程序创建大量临时文件,那么它们的执行速度会变慢,因为创建新临时文件需要更长的时间,因为必须在每个临时文件创建时扫描目录以确保文件名是唯一的。

考虑以下(基于真实事件)...... 过去几年,我所在的团队不得不使用英特尔 C 编译器。我们发现,随着时间的推移,它似乎正在放缓。也就是说,使用它运行健全性测试所花费的时间越来越长。这也适用于构建/编译单个 C 文件。我们跟踪了问题。
ICC 正在打开、统计和读取 $TEMP 下的每个文件。为了什么目的,我不知道。尽管可以说问题出在 ICC 上,但 $TEMP 下文件的存在正在减慢它和我们的开发团队的速度。删除这些临时文件导致健全性检查在不到半小时内运行,而不是超过两个小时——节省了大量时间。

希望这对您有所帮助。

关于python - 我应该删除脚本创建的临时文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27690197/

相关文章:

用于重复添加的 Python for 循环

bash - shell脚本: Indirect recursion doesn't work as expected (too many repetitions)

Bash 脚本不会在循环中退出

python - 使用 shell=True w/list 时忽略 subprocess.call() 参数

macos - 监视特定文件更改然后捕获它们的 Shell 脚本

python - sqlalchemy 中按关系名称排序

python - 如何使用 RabbitMQ 在预定时间运行任务

bash - 在 shell 中通过一个命令循环两个变量

bash - 如何自动输入密码?

python - 使用元组作为 json.dump 嵌套属性的键