我现在正在从我的Python脚本创建一个可执行文件,当脚本中的某些内容失败时(例如,文件不存在),我退出脚本sys.exit('*Enter reason here*')
。这在终端视图中非常有效,因为输出仍然在窗口中可见。但是,当我构建可执行文件时,窗口立即关闭,并且脚本结束的原因是不可读的。
是否可以选择保持命令窗口打开(最好是在PyInstaller中)?
答案 0 :(得分:3)
我找到了一个选项:
因为sys.exit()
引发了错误SystemExit
,所以可以在try-except语句中捕获它。即使是sys.exit()
中的文字也可以被捕获!因为只有一个被调用的函数(main_function),所以它是一个简短且易于理解的选项:
if __name__ == '__main__':
try:
main_function()
except SystemExit as e:
print 'Error!', e
print 'Press enter to exit (and fix the problem)'
raw_input()