有没有办法在atexit
模块中注册的函数中设置退出代码并在退出时调用?对sys.exit(code)
的调用会产生错误,并且不会将退出代码设置为所需的值。
d:\>python atexit_test.py
Error in atexit._run_exitfuncs:
Traceback (most recent call last):
File "atexit_test.py", line 3, in myexit
sys.exit(2)
SystemExit: 2
d:\>echo %ERRORLEVEL%
0
atexit_test.py
的内容:
def myexit():
import sys
sys.exit(2)
import atexit
atexit.register(myexit)
答案 0 :(得分:0)
我可以证明测试代码在Python 2.7.x(在我的情况下为2.7.6)中工作,为reported by @Łukasz Rogalski。所以我认为这是Python 3.x的一个错误,并提交了bug report。