检查python程序是否以异常退出

时间:2013-08-12 15:47:23

标签: python

我正在Python对象的__del__()析构函数中进行一些处理,如果程序通过异常退出,我不希望发生这种处理。有没有办法从__del__()检查我是否处于正常退出或异常退出的中间?

或者有一些方法可以检查atexit函数中的相同条件吗?

1 个答案:

答案 0 :(得分:2)

请勿使用__del____del__ hook甚至不能保证被调用:

  

无法保证在解释器退出时仍然存在的对象调用__del__()方法。

相反,使用Context Manager管理缓存,并在exc_type设置为None时调用__exit__() method时将缓存标记为可重复使用。