在Python中,有没有一种方法可以使代码块始终在程序的末尾执行(除非kill -9?
kill -9
我们有一个Jenkins项目,它会在构建过程中启动python脚本。如果开发人员决定中止这项工作,那么就会遗留很多工件,这些工件会(并且正在)影响未来的构建。
无论如何,要确保运行python脚本的清理部分?
使用atexit出口处理程序。这是python docs的示例:
atexit
try: _count = int(open("counter").read()) except IOError: _count = 0 def incrcounter(n): global _count _count = _count + n def savecounter(): open("counter", "w").write("%d" % _count) import atexit atexit.register(savecounter)