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


当前回答

你可以使用-i选项启动python,或者设置环境变量PYTHONINSPECT=x。从文档中可以看出:

运行脚本后进行交互检查;强制执行提示符甚至 如果stdin看起来不是终结符;还PYTHONINSPECT = x

所以当你的脚本崩溃或完成时,你会得到一个python提示符,你的窗口不会关闭。

其他回答

cmd /k是打开任何控制台应用程序(不仅仅是Python)的典型方式,其中控制台窗口在应用程序关闭后仍然存在。我能想到的最简单的方法是按下Win+R,键入cmd /k,然后拖放你想要的脚本到运行对话框。

在python 2中,你可以使用:raw_input()

>>print("Hello World!")    
>>raw_input('Waiting a key...')

在python 3中,你可以使用:input()

>>print("Hello world!")    
>>input('Waiting a key...')

你也可以用时间。sleep(time)

>>import time
>>print("The program will close in 5 seconds")
>>time.sleep(5)

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

 raw_input("Press enter to exit;")

或者,在Python 3中:

input("Press enter to exit;")

试试这个,

import sys

stat='idlelib' in sys.modules

if stat==False:
    input()

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

为了保持窗口打开,我同意Anurag的观点,这就是我为简短的计算类型程序保持窗口打开所做的。

这只会显示一个没有文本的游标:

raw_input() 

下一个例子会给你一个明确的消息,程序已经完成,而不是等待程序内的另一个输入提示:

print('You have reached the end and the "raw_input()" function is keeping the window open') 
raw_input()

注意! 在python 3中,没有raw_input(),只有 输入()。 (2)使用单引号表示字符串;否则,如果你在任何东西周围输入双精度,比如 "raw_input()",它会认为它是一个函数,变量等,而不是文本。

在下一个例子中,我使用双引号,但它不起作用,因为它认为“the”和“function”之间的引号中有一个断点,尽管当你阅读它时,你自己的大脑可以完全理解它:

print("You have reached the end and the "input()" function is keeping the window open")
input()

希望这能帮助到那些刚开始学习,还不知道计算机是如何思考的人。这可能需要一段时间。: o)