【问题标题】:Python 2.6 (Windows EXE) Keep Program Running?Python 2.6 (Windows EXE) 保持程序运行?
【发布时间】:2013-04-14 20:38:22
【问题描述】:

我正在尝试让我的 python 程序继续运行,但它会立即关闭。我试过raw_input(),但我得到这个错误:EOFError: EOF when reading a line我把raw_input()放在最后。我应该用什么让它运行?

【问题讨论】:

  • 你的意思是阻止控制台关闭?否则,要保持它运行,请使用某种无限循环。
  • @Levon 是的,我想过循环,但是什么样的循环不会使用 CPU 并且可以安全使用?
  • 您可以使用一个循环并在其中放入一个 sleep 调用来定期“暂停”程序,假设这不会干扰您尝试实现的功能。
  • @Mark 你可以使用time.sleep()
  • @Levon 没关系,你介意证明代码吗?所以我可以接受作为答案吗?

标签: python python-2.7 python-2.6


【解决方案1】:

您要做的是使用 py2exe 指定它是一个控制台应用程序编译一个 EXE。这就是您收到 EOF 错误的原因,raw_input() 没有标准输入可供读取。

像这样创建一个 setup.py

from distutils.core import setup
import py2exe

setup(console=['your_script.py'])

然后你可以通过在控制台窗口中运行它来编译它:

python setup.py py2exe

这将在该目录中生成 your_script.exe,如果您的脚本末尾有 raw_input(),则该目录应作为控制台窗口保持打开状态。

确保 setup.py 和 your_script.py 位于同一目录中并且您已安装 py2exe。

供参考,您可以获取py2exe online

顺便说一句,这也是你的 py2exe 程序中的allows you to use commandline arguments

【讨论】:

    【解决方案2】:

    我现在无法访问 Python,但类似

    from time import time, sleep
    
    while True:
        #do other stuff
        sleep(5)
    

    应该很接近。每次循环都会休眠 5 秒,请参阅 time.sleep() 的文档。调整时间以满足您的需要。

    【讨论】:

    • @downvoter .. 为什么投反对票? OP似乎对答案很满意。没有解释的否决票对任何人、OP、SO 或我都没有帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-17
    • 2012-05-22
    • 1970-01-01
    • 1970-01-01
    • 2014-06-10
    • 1970-01-01
    相关资源
    最近更新 更多