0

我对 python 解释器有这个问题 - 它在脚本执行后立即关闭。我正在尝试学习 pygtk;我在教程之后写了“hello world”,我能看到的只是两个窗口的快速闪现,一个解释器和一个 gtk。我尝试从 command.com 运行脚本,而不是通过双击运行脚本 - 并没有太大帮助。

在较旧的 Windows 中,我只需选中相应选项卡上的复选框,但我该如何在这个令人眼花缭乱的眼睛糖果上做到这一点?

4

5 回答 5

2

我对 pygtk 不熟悉,但是如果您在 Windows 下双击 Python 程序,并且程序运行然后窗口关闭,那么您可以通过调用来尝试这种简单的方法

 raw_input() # with Python 2.x

或者

 input() # with Python 3.x

在脚本的末尾。这将导致程序停止并等待输入(并保持窗口打开),如果您按下键,程序将结束(并且您的窗口将关闭)。

于 2012-09-10T01:12:05.497 回答
2

通常情况下会发生一些异常,即使您在最后放置了一些睡眠功能(或其他等待用户的语句),它也可能会失败。

为了克服这个问题,只需使用异常捕获及其后的部分finally

import time

try:
    ... (your code goes here) ...
except:
    ... (some exception handling, if needed) ...
finally:
    time.sleep(5)  # always sleep 5 seconds before exiting

后面的部分finally确保在两种情况下(有异常和无异常)都会执行一些代码。除非您手动关闭计算机;)

正如 Mark Lutz 在他的“ Learning Python. 4th Edition ”一书中所建议的那样,time.sleep你也可以使用.input()

于 2012-09-10T01:16:30.187 回答
1

如果您从命令窗口运行脚本,python-i选项将在脚本完成后保持交互式 Python 会话打开,以便您可以输入 Python 语句进行调试等:

C:\>python -i script.py
>>>

不确定这是否会使 GTK 窗口保持打开状态,这取决于我期望的编程方式。

于 2012-09-10T08:17:22.437 回答
0

我建议您在某种编辑器中运行您的代码(几乎任何编辑器都可以:Eclipse、Geany、Spyder、IDLE 等)。这样做的原因是,当程序执行时,您的代码中很可能会在某处出现致命错误。即使出现错误,Python IDE 也倾向于保持用于执行代码的窗口打开,因此您可以查看错误回调以供参考。这将告诉您从哪里得到错误,并允许您相应地修复代码。当然,您总是可以继续前进input()time.sleep()坚持到底并希望有所帮助,但这取决于您。我建议使用我上面提到的 IDE。

于 2012-09-10T02:24:41.700 回答
0
import subprocess
print "hello from python"

subprocess.Popen(["pause"], shell=True)

这将等待按下任何键

于 2012-09-24T22:52:25.927 回答