小编典典

在没有外壳窗口的情况下运行外壳命令

python

使用subprocess.callsubprocess.Popen,执行shell命令可使shell窗口快速出现和消失。

没有外壳窗口的情况下如何运行shell命令?


阅读 225

收藏
2021-01-16

共1个答案

小编典典

我认为您的观察仅限于Windows,因为我认为这是您将获得“控制台闪存”问题的唯一平台。如果是这样,那么文档将提供以下半有用的段落:

如果指定了startupinfo和creationflags,则将它们传递给基础CreateProcess()函数。他们可以指定诸如主窗口外观和新进程优先级之类的内容。(仅Windows)

不幸的是,Python的在线文档不再现Windows的API文档的相关部分,所以你必须找到那些在其他地方,如开始在这里在MSDN上,这导致你在这里creationflags,并且具体地

CREATE_NO_WINDOW
0x08000000

该过程是一个没有控制台窗口即可运行的控制台应用程序。因此,未设置应用程序的控制台句柄。

因此,添加creationflags=0x08000000到您的Popen通话中应该会有所帮助(不幸的是,我没有Windows试运行的计算机,因此您必须自己尝试一下)。

2021-01-16