我刚刚开始学习Python。当我在Windows上执行一个python脚本文件时,输出窗口出现但立即消失。我需要它停留在那里,这样我就可以分析我的输出。我怎么才能让它一直开着?


当前回答

一个非常迟的回答,但我创建了一个名为pythonbat.bat的Windows批处理文件,其中包含以下内容:

python.exe %1
@echo off
echo.
pause

然后指定pythonbat.bat作为.py文件的默认处理程序。

现在,当我在文件资源管理器中双击一个.py文件时,它会打开一个新的控制台窗口,运行Python脚本,然后暂停(保持打开),直到我按下任何键……

无需更改任何Python脚本。

我仍然可以打开一个控制台窗口,并指定python myscript.py,如果我想…

(我刚刚注意到@maurizio已经发布了这个确切的答案)

其他回答

Python 3

input('Press Enter to Exit...')

会成功的。

除了input和raw_input,你还可以使用一个无限while循环,像这样: while True: pass (Python 2.5+/3)或while 1: pass(所有版本的Python 2/3)。不过,这可能需要计算能力。

还可以从命令行运行程序。在命令行中输入python (Mac OS X终端),它应该是python 3。(你的Python版本)如果它没有显示你的Python版本,或者说Python:命令没有找到,查看更改PATH值(环境值,上面列出)/输入C:\(Python文件夹\ Python .exe。如果成功,输入python或C:\(python安装)\python.exe和程序的完整目录。

试试这个,

import sys

stat='idlelib' in sys.modules

if stat==False:
    input()

这只会停止控制台窗口,而不是IDLE窗口。

如果你想保持cmd-window打开并且在运行文件目录下,这在Windows 10下是有效的:

cmd /k cd /d $(CURRENT_DIRECTORY) && python $(FULL_CURRENT_PATH)

从已经打开的cmd窗口或启动脚本 在Python 2中,在脚本的末尾添加如下内容:

 raw_input("Press enter to exit;")

或者,在Python 3中:

input("Press enter to exit;")