2012-09-11 106 views
18

我刚开始上大学,我们将要使用python。我们确实没有做任何事情,所以我下载了程序并完成了一些打印命令,就是这样。如何在Microsoft Windows中执行时立即停止Python关闭

当我运行我的.py文件(一个print命令)它会在出现后立即关闭。我明白它为什么这样做 - 它给出了输出,所以它完成了它需要做的事情 - 但我也明白,你可以阻止这种情况发生。

我环视了这个网站,并没有任何解决这个问题的解决方案,无论是我还是不明白他们。

是否有一个简单的命令,我可以输入到我的IDLE编辑器,将暂停或什么东西?按照某人的建议,我试过input("prompt: "),这没有什么区别。

如果没有这个命令,是否有方法来改变计算机上的设置,以便程序不会自动关闭?

+1

你在使用Windows机器吗?如果你是,你是否双击.py文件?尝试打开.py文件夹中的命令提示符,然后运行'python。 your_file.py'然后你的编辑器将显示输出,但保持打开后。 – Ctrlspc

+1

如果输入无法正常工作,你有一个错误是在你到达那里之前杀死该文件...运行它从“cmd”而不是Ctrlspc所说的点击:) –

+2

对不起刚刚注意到一个错字,现在无法编辑我的评论,你应该运行'python your_file.py'(在我最后的评论中忽略python后的点)。 – Ctrlspc

回答

6

打开你的cmd(命令提示符)并从那里运行Python命令。 (在Windows去跑或搜索,并键入CMD) 它应该是这样的:

python yourprogram.py 

这将在cmd中执行代码,它会被悬空。 但是要使用python命令,必须正确安装Python,以便cmd将其识别为命令。检查适当的安装和变量注册为您的操作系统,如果这没有发生

+0

我按照你的说法完成了,它只是说''python'不是识别为内部或外部命令,可操作程序或批处理文件“。 – keirbtre

+0

你没有提到,因为你没有注册全局变量,怎么做这里解释http://docs.python.org/using/windows.html 特别看看3.3.1 – rodling

+1

什么?是的,我的确如前所述。如果他漏掉了一些东西,而且我按照指示行事,我并不是“没有做到”,而是被告知要做的事情。我找到了环境变量,但不知道我现在要做什么,因为就我所知,这个链接并没有告诉你该怎么做。感谢您的更多答复btw :) – keirbtre

4

运行该命令使用Windows命令提示符从您的主要Python库源。 示例。

C:\Python27\python.exe directoryToFile\yourprogram.py 
+0

这对我来说非常合适,谢谢! – Tensigh

+0

或只是拖动你的.py到cmd窗口(并按回车键) – JinSnow

13

在Python 3,以下内容添加到您的代码的末尾:

input('Press ENTER to exit') 

这将导致程序等待用户输入,具有紧迫ENTER导致程序来完成。

您可以用这种方式方便地双击Windows中的script.py文件。

+0

'这将导致程序等待用户输入',除非在输入()之前在行中触发错误 – JinSnow

+1

在python 2.7 .x使用raw_input()而不是input()。 – G4mo

1

如果你只是想延迟

from time import * 

sleep(20) 
+1

请尝试格式化您的答案中的代码(在任何代码行之前放置4个空格)。 – dkar

1

在Python 2.7添加此我PY文件的末尾(if __name__ == '__main__':)工作原理:

closeInput = raw_input("Press ENTER to exit") 
print "Closing..." 
5

,对我-i工作的唯一的事命令行参数。

只需将所有python代码放在​​.py文件中,然后运行以下命令;

python -i script.py 

这意味着,如果你设置-i变量和运行模块那么Python不会退出上SystemExit。 了解更多link

+0

程序结束后,'-i'选项表示切换到交互模式(带有'>>>'提示符)。然后可以退出或与glocal对象交互。从IDLE编辑器运行代码具有相同的效果。 –

+0

Upvoted,但这只会是一个解决方案,如果有人可以解释如何在用户双击Python脚本时自动打开'-i'模式。这是该问题的用例;在命令行使用情况下,该窗口仍然无法关闭。 – alexis

-1

那么我有类似的问题, 它通过添加环境变量解决。

在窗口中添加系统变量

名称:PYTHONPATH

值:C:\Python27;

你的Python路径。

0

我觉得我为时已晚回答这个问题,但无论如何,这里什么都不做。

我以前遇到同样的问题,我认为有两种可供选择的替代解决方案。

  1. 使用睡眠(_sometime)

from time import * sleep(10)

  • 使用提示消息(注意,我使用Python 2.7)
  • exit_now = raw_input("Do you like to exit now (Y)es (N)o ? ")'

    if exit_now.lower() = 'n'

    //more processing here

    或者,也可以使用这两种方法的混合,以及在这里可以提示的消息,并使用睡眠(有时)以延迟窗口关闭为好。选择是你的。

    请注意以上只是想法,如果你想在实践中使用任何这些想法,你可能需要考虑一下你的应用逻辑。

    1

    取决于我正在使用它,或者如果我正在做其他人将使用的东西,我通常只是input("Do eighteen backflips to continue")如果它只是为我,如果别人将使用我只是创建一个批处理文件并暂停它

    cd '/file/path/here' 
    python yourfile.py 
    pause 
    

    后,我用,如果有将是重命名的文件上,移动,复制等,我的CMD需要在对事物的特定文件夹下跌,我想他们,否则 - 只是

    python '/path/to/file/yourfile.py' 
    pause