在你的程序退出之前,你怎么能有一个函数或者什么东西可以被执行呢?我有一个经常在后台运行的脚本,我需要它在文件退出之前将一些数据保存到文件中。有没有标准的方法来做这件事?
发布于 2010-10-03 23:04:35
查看atexit模块:
http://docs.python.org/library/atexit.html
例如,如果我想在应用程序终止时打印一条消息:
import atexit
def exit_handler():
print 'My application is ending!'
atexit.register(exit_handler)请注意,这对于脚本的正常终止非常有效,但它不会在所有情况下都被调用(例如,致命的内部错误)。
发布于 2010-10-04 00:38:47
如果你想让某个东西总是运行,即使是在出错的时候,可以像这样使用try: finally: -
def main():
try:
execute_app()
finally:
handle_cleanup()
if __name__=='__main__':
main()如果还想处理异常,可以在finally:之前插入except:
发布于 2010-10-03 23:11:04
如果您通过引发KeyboardInterrupt来停止脚本(例如,通过按Ctrl-C),则可以将其捕获为标准异常。您也可以用同样的方式捕获SystemExit。
try:
...
except KeyboardInterrupt:
# clean up
raise我提到这一点只是为了让您了解它;这样做的“正确”方法是上面提到的atexit模块。
https://stackoverflow.com/questions/3850261
复制相似问题