0

我创建了一个 Python 脚本并使用 PyInstaller 将其编译成一个 exe 文件。在此过程中,我指定了 -w 选项来获取没有任何控制台的应用程序。

除了使用 popen 执行命令外,一切正常:

mout = subprocess.Popen(['ls','C:\'])

此行生成异常[Error 6] The handle is invalid

我已经尝试添加参数 stdout=subprocess.PIPE, stderr=subprocess.PIPE,但它仍然无法正常工作。我认为这是因为主进程没有分配任何控制台。我想执行命令但不打开任何外壳,它必须对用户透明。

有什么选择吗?

4

1 回答 1

1

这应该可以解决您的问题。

proc = subprocess.Popen(['ls','C:\\'], shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdin=subprocess.PIPE, creationflags=CREATE_NO_WINDOW)
于 2019-12-28T17:42:58.310 回答