Python:如何确保在程序完成时删除文件?

时间:2017-07-12 03:15:15

标签: python-3.x temp

程序完成后,我有几个绝对必须删除的文件。我真的不想使用tempfile.TemporaryFile因为文件必须传递很多,并且用于os.system()调用中的命令输出重定向。所以我会使用tempfile.mkstemp,但这些不会被自动删除。我考虑将我的main方法包装在try-finally中,如下所示:

if __name__ == "__main__":
    try:
        main()
    finally:
        os.remove(tempfile)

但这看起来很值得怀疑。还有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

我的问题已在上述评论中得到解答,但我找到了另一个简洁的解决方案,我将留待此处以供将来参考:atexit