1

我的脚本在运行期间创建文件来存储数据,我想在程序终止时删除这些文件。这可能吗?

我不想要解决方法的建议......比如“不要创建文件”。

非常感激!

4

4 回答 4

7

Python 的 os 模块呢?有一个“remove()”方法可以做你想做的事。

请参阅文档

要处理程序的退出,您可以使用atexit模块。

例子:

import os

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

import atexit
atexit.register(delete_file, file_path)

file_path 是要删除的文件。

于 2011-03-27T10:54:46.583 回答
6

您需要atexit()处理程序。

根据我的经验,可能是由于解释器(?)中的错误,我发现这些使用起来非常具有挑战性,因为有时我需要使用的资源已经被清理了,包括我需要使用的模块。

于 2011-03-27T10:54:37.307 回答
1

Python 提供对tempfiles(参见同名模块)的支持。这些可能不能保证在程序终止时被删除,但操作系统知道它们可以在需要的时候在不通知的情况下被删除(例如,在某些 Unix 上,每晚)。

于 2011-03-27T10:59:25.587 回答
1

这是一个更简单的方法,似乎可以正常工作。我没有在实际代码中使用它,所以可能存在我不知道的缺点。欢迎来自更有经验的 Pythonista 的批评。

import sys

def main():
    print('main')
    sys.exit(0)

try:
    main()
finally:
    print('cleanup code goes here')
于 2011-03-27T11:13:29.350 回答