当程序由ctrl-c退出时,如何确保__del__函数被调用?

时间:2018-08-14 03:17:26

标签: python

在我的python程序中,我创建了一个自定义对象。通过接收CTRL-C信号退出该程序。但是,程序退出时不会调用__del__函数。程序退出时,应删除该程序创建的所有对象,但是为什么不调用__del__函数呢?现在,为了进行一些清理,我解析为atexit模块。还有更多优美的方法吗? 实际上,我想使用RAII in C++来管理我的python对象,我可以这样做吗?

1 个答案:

答案 0 :(得分:0)

使用atexit模块:

import atexit
atexit.register(your_function_name)

或者,就您而言:

import atexit
atexit.register(__del__)