Python是否有与__init __()等效的关闭

时间:2013-03-20 13:07:02

标签: python

我在Python类中使用__init__()函数来设置第一次调用类时的东西。

脚本关闭时是否有一个等效的函数?

1 个答案:

答案 0 :(得分:5)

最终确定对象时会调用__del__方法。但是,python不保证在解释器退出时实际上会在对象上调用__del__

有几种选择:

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

如果你做了一些非常讨厌退出程序的事情(例如以某种方式导致分段错误或通过os._exit退出),这两个选项都会失败