2013-03-20 107 views

回答

5

有一个__del__方法,当一个对象完成时调用。但是,python并不保证在解释器退出时实际上会调用对象__del__

有几个备选方案:

  • atexit.register - 在这里你可以注册,当你脚本终止
  • 创建context manager,并使用with语句来运行的功能。然后,当您离开上下文时,您的上下文管理器的__exit__方法将被无条件地调用。

,如果你做了一件令人头痛的事情退出程序(如不知何故导致段故障或退出通过os._exit

+1

你也可以列出'contextmanager's这两个选项会失败;) – filmor 2013-03-20 13:09:01

+1

@filmor - 我只是补充一点。 :) – mgilson 2013-03-20 13:09:19

+0

这工作正常,我需要什么,谢谢 – KermitG 2013-03-20 14:04:13