程序终止时触发代码

1 投票
4 回答
1335 浏览
提问于 2025-04-16 14:30

我的脚本在运行期间会创建一些文件来存储数据,我想在程序结束时删除这些文件。这样做可以吗?

我不想要任何变通的建议……比如“不要创建文件”。

非常感谢!

4 个回答

1

Python提供了对tempfiles的支持(可以查看同名模块)。这些临时文件在程序结束时可能不会被保证删除,但操作系统知道它们可以随时被删除(比如在某些Unix系统上,可能每晚都会删除一次)。

6

你需要使用atexit()这个功能。

根据我的经验,可能是因为解释器里有一些问题,我发现使用这个功能挺困难的,因为有时候我需要用到的资源已经被清理掉了,包括我需要用的模块。

7

Python的os模块怎么样呢?里面有一个“remove()”方法,可以帮你完成你想做的事情。

你可以查看一下这个文档

如果你想处理程序的退出,可以使用atexit模块。

举个例子:

import os

def delete_file(name):
    os.remove(name)

import atexit
atexit.register(delete_file, file_path)

file_path就是你要删除的文件。

撰写回答