gpt4 book ai didi

python - 为什么 sys.exit() 导致回溯?

转载 作者:太空狗 更新时间:2023-10-30 00:29:00 25 4
gpt4 key购买 nike

根据 How to exit from Python without traceback? ,在 Python 脚本中调用 sys.exit() 应该在没有回溯的情况下静默退出。

import sys
sys.exit(0)

但是,当我在 Windows 7 上使用 python -i "exit.py" ( or from Notepad++ ) 从命令行启动我的脚本时,一个 SystemExit 的回溯显示异常。

U:\>python -i "exit.py"
Traceback (most recent call last):
File "exit.py", line 2, in <module>
sys.exit(0)
SystemExit: 0
>>>

为什么 sys.exit() 从 Windows 命令行运行时显示回溯?

(作为引用,我在 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com