【问题标题】:How to avoid cmd from popping up and closing when subprocess.popen() is executed in an executable built with py2exe?在使用py2exe构建的可执行文件中执行subprocess.popen()时如何避免cmd弹出和关闭?
【发布时间】:2017-02-14 19:55:20
【问题描述】:

我用 py2exe 构建了一个可执行文件。起初,当我执行程序时会弹出命令提示符并保持打开状态,直到我关闭程序。我寻找解决方案并找到了可行的方法。我在安装文件 (http://www.py2exe.org/index.cgi/Tutorial) 代码中更改了一行:

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

到这里:

setup(windows=['myapp.py'])

这样做会导致我每次执行程序时都不会打开命令提示符。

但我现在遇到的问题是,每当执行如下代码行(我编写了一个程序以自动创建多个 Windows 任务)时,都会弹出并关闭命令提示符。

subprocess.Popen('schtasks /Create /S PC_Name /RU User /RP Password /XML XML_file, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)

如果我运行 py 文件就不会发生这种情况,只有当我使用 py2exe 库来构建可执行文件时。

应用程序运行良好,我做了它应该做的事情。我只是想阻止命令提示符弹出。

提前致谢!

【问题讨论】:

    标签: python python-2.7 py2exe


    【解决方案1】:

    试试这个坏男孩:

    def run_cmd(cmd):
        fi, fo, fe = os.popen3(cmd)
        response = ""
        if fo:
            for i in fo.readlines():
                response += i
        if fe:
            for i in fe.readlines():
                response += i
        return response
    

    【讨论】:

      猜你喜欢
      • 2019-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-29
      相关资源
      最近更新 更多