在atexit回调中设置退出代码

时间:2016-05-12 06:14:01

标签: python python-3.x python-3.5 atexit

有没有办法在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)

1 个答案:

答案 0 :(得分:0)

我可以证明测试代码在Python 2.7.x(在我的情况下为2.7.6)中工作,为reported by @Łukasz Rogalski。所以我认为这是Python 3.x的一个错误,并提交了bug report