是否有内置函数可以在 PyInstaller 中保持命令窗口打开

Mat*_*711 5 python command-line pyinstaller

我现在正在从我的 Python 脚本创建一个可执行文件,当脚本中出现某些问题(例如,文件不存在)时,我使用sys.exit('*Enter reason here*'). 这在终端视图中效果很好,因为输出在窗口中仍然可见。但是,当我构建一个可执行文件时,窗口会立即关闭,并且脚本结束的原因是不可读的。

是否有保持命令窗口打开的选项(最好在 PyInstaller 中)?

Mat*_*711 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()
Run Code Online (Sandbox Code Playgroud)