在使用py2exe构建的可执行文件中执行subprocess.popen()时,如何避免cmd弹出和关闭?

时间:2017-02-14 19:55:21

标签: python python-2.7 py2exe

我用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库来构建可执行文件时才会发生这种情况。

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

提前致谢!

1 个答案:

答案 0 :(得分:0)

试试这个坏男孩:

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