Python错误后保持Windows控制台打开

时间:2010-05-16 11:32:51

标签: python windows console

我机器上的文件关联(winxp home)就是用python解释器直接打开python脚本。如果我双击python脚本,控制台窗口就会运行,并且每件事都很好 - 只要脚本中没有语法错误。

在这种情况下,控制台窗口会打开一会儿,但会立即关闭。读取错误消息的速度太快。

当然,他们可以手动打开控制台窗口并通过键入python myscript.py来执行脚本,但我确信有一个更方便(即“基于双击”)的解决方案。

4 个答案:

答案 0 :(得分:13)

制作批处理文件:

C:\Python26\python.exe %1
IF %ERRORLEVEL% NEQ 0 PAUSE

直接使用它作为文件关联而不是python.exe。这只会导致在python.exe返回错误时执行PAUSE语句

答案 1 :(得分:1)

在未关闭的命令提示符窗口中运行命令的规范方法是

cmd /k "your command"

答案 2 :(得分:0)

我已经就rossipedia关于类似情况的回答留下了评论,但我怀疑它会在一个8岁的帖子中被注意到。所以,我已经尝试过自己。

我有一个python脚本来处理放在它上面的文件夹。当我添加新行时,有时会出现语法错误,我无法查看它们,因为命令提示符窗口关闭得太快。为了在出错后保持窗口打开,我不得不修改rossipedia的代码。我需要一种方法来传递一个路径到bat文件(在其上放一个文件夹)并让bat传递给python脚本的路径。以下是:

<resultMap id="ticketResultMap" type="Ticket"> <id property="id" column="id"/> <result property="yourDateColumn" column="TICKET_DTM" typeHandler="StringDateTypeHandler"/> <!-- other fields mappings or use autoMapping="true" --> </resultMap>

debug.bat

@echo off REM debug.bat and myscript.py should be in the same dir, otherwise use absolute path for the python script C:\Users\%username%\AppData\Local\Programs\Python\Python36-32\python.exe "%~dp0\myscript.py" %1 IF %ERRORLEVEL% NEQ 0 PAUSE

myscript.py

如果我收到错误,我只是使用import sys print("printing dropped file path:") print(sys.argv[1]) input() 来查看错误,它的工作原理相同(删除文件夹)。

<强>更新

在我的实际python脚本中,我有这一行:

debug.bat

当我使用sys.path.append("modules") 时,这不起作用。 &#34;模块&#34;是与python脚本位于同一文件夹中的文件夹。使用debug.bat调用脚本时,当前工作目录将更改为已删除文件的目录。因此,为了获得&#34; modules&#34;的路径,我必须使用绝对路径:

debug.bat

答案 3 :(得分:0)

方法是,右键单击从记事本保存到.py文件的脚本,然后单击“ IDLE”进行编辑,这很麻烦,但是您也可以从中运行模块