我想在用户关闭程序时执行一个函数。
例如,如果主程序是time.sleep(1000)
,如何编写txt来记录程序的意外终止。
该程序由cxfreeze打包到exe中。单击“X”关闭控制台窗口。
我知道atexit可以处理sys.exit(),但有更强大的方法可以处理关闭窗口事件吗?
问题
答案 0 :(得分:2)
最接近的是使用退出处理程序:
def bye():
print 'goodbye world!!'
import atexit
atexit.register(bye)
这可能不起作用取决于python如何终止的技术细节(它依赖于正常的解释器终止)
答案 1 :(得分:1)
您可以使用atexit
module注册程序退出时执行的功能。
答案 2 :(得分:0)
最简单的方法是将您的行为包装在try / finally中,并在finally块中使用退出行为。
try:
normal_behavior()
finally:
on_exit_behavior()