Python中使用sys.exit()退出程序如何不显示traceback仅输出SystemExit消息
Python调用sys.exit()屏蔽traceback仅显示退出信息的解决方案
sys.exit()本质是抛出SystemExit类型的异常,默认情况下解释器遇到未捕获的SystemExit会先打印完整调用栈(即你看到的traceback内容),再输出异常信息,以下两种方案都可以实现仅保留SystemExit和自定义提示的需求:
方案1:最简配置,无需修改业务逻辑
在程序开头import sys后添加一行配置,关闭traceback输出:
import sys sys.tracebacklimit = 0
添加后你原有的业务代码不需要做任何调整,运行时就会自动屏蔽所有traceback内容,仅输出你需要的SystemExit: You exited the game。
方案2:显式捕获异常,可灵活扩展
如果后续需要针对不同退出场景做额外收尾处理,可以用try-except块包裹主逻辑:
import sys try: # 此处替换为你原有所有业务代码 guess = input("请输入猜测值,输入q退出:") if guess == 'q': print('q') sys.exit('You exited the game') # 其他原有逻辑 except SystemExit as exit_msg: print(f"SystemExit: {exit_msg}") sys.exit(0)
内容的提问来源于stack exchange,提问作者desba
相关产品推荐
相关产品推荐

