2
atexit
モジュールに登録された関数に終了コードを設定して終了時に呼び出される方法はありますか? sys.exit(code)
を呼び出すとエラーが発生し、終了コードを目的の値に設定しません。atexitコールバックで終了コードを設定する
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)
どのようなPythonのバージョンが使われていますか?私はPython 3.5.1でそれを再現することができますが、Python 2.7.10では正常に動作します( 'sys.exit'と' SystemExit'の両方)。正しいタグ(python-2.xまたはpython-3.x)を使用できますか? –
@Rogalski私はPython 3.5.1を使用しています。 – Melebius