繁体   English   中英

如何防止错误后关闭命令行窗口

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM