Why is sys.exit() causing a traceback?
如何从python退出而不进行回溯?,在python脚本中调用
1 2 | import sys sys.exit(0) |
但是,当我使用
1 2 3 4 5 6 | U:\>python -i"exit.py" Traceback (most recent call last): File"exit.py", line 2, in <module> sys.exit(0) SystemExit: 0 >>> |
为什么当从Windows命令行运行时,
(供参考,我在Windows7上使用的是python 3.6.4)
您运行的是带有
可以说,
未显示异常:
1 | python exit.py |
你的程序被终止了。
使用
1 2 3 4 5 6 | python -i exit.py Traceback (most recent call last): File"exit.py", line 2, in <module> sys.exit(0) SystemExit: 0 >>> |
因为解释器一直在运行。
exit([status]) Exit the interpreter by raising SystemExit(status).
因为在引擎盖下,
在这里进一步阅读
你想要的是:
1 | os._exit(1) |
正如Matt_g所说,
如果您想退出而不进行回溯,那么有一个
正如@user2357112告诉我的,
因为你在使用-i选项。如果不使用它,就不会得到堆栈跟踪。
1 2 3 4 5 6 | $ python ptest.py $ python -i ptest.py Traceback (most recent call last): File"ptest.py", line 3, in <module> sys.exit(0) SystemExit: 0 |