我的脚本在运行期间创建文件来存储数据,我想在程序终止时删除这些文件。这可能吗?
我不想要解决方法的建议......比如“不要创建文件”。
非常感激!
我的脚本在运行期间创建文件来存储数据,我想在程序终止时删除这些文件。这可能吗?
我不想要解决方法的建议......比如“不要创建文件”。
非常感激!
您需要atexit()处理程序。
根据我的经验,可能是由于解释器(?)中的错误,我发现这些使用起来非常具有挑战性,因为有时我需要使用的资源已经被清理了,包括我需要使用的模块。
Python 提供对tempfiles
(参见同名模块)的支持。这些可能不能保证在程序终止时被删除,但操作系统知道它们可以在需要的时候在不通知的情况下被删除(例如,在某些 Unix 上,每晚)。
这是一个更简单的方法,似乎可以正常工作。我没有在实际代码中使用它,所以可能存在我不知道的缺点。欢迎来自更有经验的 Pythonista 的批评。
import sys
def main():
print('main')
sys.exit(0)
try:
main()
finally:
print('cleanup code goes here')