从脚本退出交互式python3会话

时间:2016-08-10 05:42:08

标签: python

如果在加载文件并解析文件时检测到错误(即使是使用-i从交互模式调用),我希望我的程序自动退出。我尝试过exit()sys.exit()的各种变体,但似乎没有任何效果。我没有退出交互式会话,而是获得了堆栈跟踪。例如,如果我有以下文件test.py

import sys
sys.exit(0)

当我运行python3 -i test.py时,我得到以下结果:

Traceback (most recent call last):
  File "test.py", line 2, in <module>
    sys.exit()
SystemExit
>>>

并且会话继续,直到我退出自己(使用那些确切的行随后工作,而不是当他们从脚本调用时)。我错过了什么?

1 个答案:

答案 0 :(得分:2)

尝试调用os._exit()直接退出,而不会抛出异常

import os
os._exit(1)

请注意,这将绕过所有python关闭逻辑。 希望它有所帮助。