在python程序终止后,如何保持控制台窗口打开以查看产生的任何错误?
我在Win10上使用Python3,通过打开命令提示符窗口并键入文件位置来运行代码。但是,程序一终止,在我读取任何错误之前,窗口就会关闭。 编辑:无论程序是否有错误,都会发生这种情况。在python程序终止后,如何保持控制台窗口打开以查看产生的任何错误?,python,python-3.x,Python,Python 3.x,我在Win10上使用Python3,通过打开命令提示符窗口并键入文件位置来运行代码。但是,程序一终止,在我读取任何错误之前,窗口就会关闭。 编辑:无论程序是否有错误,都会发生这种情况。 谢谢。解决方案1: 我刚才看到你的评论: 当我这样做时,我收到错误“python”未被识别为 内部或外部命令、可操作程序或批处理文件 看起来您还没有指定python可执行文件的路径:您需要将python可执行文件路径添加到窗口的path变量中。您可以在此处看到如何执行此操作: 解决方案2: 您可以在python代
谢谢。解决方案1: 我刚才看到你的评论: 当我这样做时,我收到错误“python”未被识别为 内部或外部命令、可操作程序或批处理文件 看起来您还没有指定python可执行文件的路径:您需要将python可执行文件路径添加到窗口的path变量中。您可以在此处看到如何执行此操作: 解决方案2: 您可以在python代码末尾使用
input(“回车以退出”)
来保持程序的活动状态。一旦按enter键,它将退出
您还可以将代码包围在try
except
语句中,并将thrinput()
放在except
中,以防止程序在出现错误时退出,但与注释中提到的@Kevin一样,这将捕获运行时错误,而不是语法错误
解决方案3:
您可以将错误或任何信息写入文件,例如
log.txt
,然后在代码运行完成后读取该日志文件。例如FWIW,我的Windows系统上有几个Python版本,因此我不想将任何Python目录永久添加到路径中
每个版本的代码位于单独的文件夹(例如“py37”)中,每个项目都有一个子文件夹,例如“myProject”。
在py37中,有一个名为pyEnv.bat的批处理文件,其内容如下:
@echo off
path=%path%;C:\Python37\;C:\Python37\Scripts\
cd.
cmd
在Windows资源管理器中,我转到要使用的项目文件夹,单击地址栏并键入。\pyEnv
。这将启动一个DOS框,我现在可以在其中执行python myproject.py
。您可以看到print()
输出、错误等
您可以向上箭头尝试不同的模块,先键入它们
一旦退出DOS框,您的路径将再次恢复正常 将其作为yourscript.py的python name运行,以便在同一控制台上下文中执行。我也在使用Windows 10,并且我的命令提示符保持打开状态,无论程序是否因异常而终止,无论我是使用
python myscript.py
还是仅使用myscript.py
@zwer运行程序,当我这样做时,我收到的错误“python”未被识别为内部或外部命令,可操作的程序或批处理文件。input()
如果脚本由于异常而提前终止,则不会执行。这似乎不是查看错误的有效方法。我同意,只有在没有错误的情况下才打开窗口是一种解决方案。我想他可以用try-except来包围他的代码,并将input()
放在except中,当然,这应该可以处理运行时错误,但对syntaxerror没有多大好处,因为syntaxerror是在任何try
块被输入之前出现的。