根据How to exit from Python without traceback?的说法,在Python脚本中调用sys.exit()
应该以静默方式退出而不进行追溯。
import sys
sys.exit(0)
但是,当我使用
python -i "exit.py"
((or from Notepad++)在Windows 7上从命令行启动脚本时,将显示 SystemExit
异常的回溯。U:\>python -i "exit.py"
Traceback (most recent call last):
File "exit.py", line 2, in <module>
sys.exit(0)
SystemExit: 0
>>>
从Windows命令行运行时,为什么
sys.exit()
显示回溯?(供引用,我在Windows 7上使用Python 3.6.4)
最佳答案
您正在使用-i
标志运行Python。 -i
suppresses the usual special handling of the SystemExit
exception sys.exit
raises;由于抑制了特殊处理,因此Python执行常规的异常处理,该异常处理将显示回溯。
可以说,-i
应该只禁止特殊处理的“退出”部分,而不应引起回溯打印。你可以举一个bug report;我没有任何现有的相关报告。
关于python - 为什么sys.exit()引起回溯?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48571212/