[英]How to prevent command line windows from closing after errors
在Windows中,当退出Python脚本时,“命令提示符”窗口将关闭。 如果从错误退出,它将关闭,然后才能读取任何内容。 我一直在使用它来使窗口保持打开状态,即使出现错误也是如此:
if __name__ == '__main__':
try:
main()
except BaseException as e:
print('Error:')
print(e)
raise
finally:
raw_input('(Press <Enter> to close)')
如果main()
调用sys.exit()
,它将起作用,但不适用于语法错误之类的东西。 有没有更好的办法?
您所拥有的将在大多数情况下都可以工作(调用os._exit()
的线程是一个明显的例外)。
另一种选择是将Python脚本包装在批处理文件中,并在调用Python解释器后使用pause
命令。
我正在使用带有此代码的批处理文件
@echo off
env\project_env\Scripts\python.exe -mpdb test.py
pause
env\\project_env
是一个virtualenv目录,其中包含test.py
使用的库
env\\project_env\\Scripts\\python.exe
是一个python解释器,它使virtualenv魔术可以使用其中安装的库。
如果程序因未捕获的异常终止, -mpdb
将打开调试器。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.