我想知道Python脚本是否正确终止。为此,我正在使用
原因是:如果程序正常结束,它什么也不会做,但如果程序由于异常或返回非零错误代码(退出状态)而结束,我想触发一些操作。
如果你想知道为什么我不使用try/finally,那是因为我想为十几个导入一个公共模块的脚本添加相同的行为。我想在被导入的模块中添加atexit()函数并免费获得所有脚本的这种行为,而不是修改它们中的所有脚本。
atexit
。但问题是我不知道如何区分atexit是使用sys.exit(0)、非零值或异常调用的。原因是:如果程序正常结束,它什么也不会做,但如果程序由于异常或返回非零错误代码(退出状态)而结束,我想触发一些操作。
如果你想知道为什么我不使用try/finally,那是因为我想为十几个导入一个公共模块的脚本添加相同的行为。我想在被导入的模块中添加atexit()函数并免费获得所有脚本的这种行为,而不是修改它们中的所有脚本。
sys.exit(1)
。在Python 2.7上,它为我打印出了sys.exit(1)
。 - Niklas B.patched_exit
函数中忘记了一个global exit_code
吗?我一开始也忘了,但是在发布答案后立即进行了编辑。 - Niklas B.