在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()
,则无效,但不适用于语法错误等问题。还有更好的方法吗?
答案 0 :(得分:4)
您在大多数情况下都会使用(调用os._exit()
的线程是一个值得注意的例外)。
另一种方法是将Python脚本包装在批处理文件中,并在调用Python解释器后使用pause
命令。
答案 1 :(得分:3)
我现在正在使用带有此代码的批处理文件
@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
将打开一个调试器。