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

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

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

Solutions Collecting From Web of "在没有shell窗口的情况下运行shell命令"

我想你的观察仅限于Windows,因为我相信,这是唯一的平台,你会得到“控制台闪光”的问题。 如果是这样,那么文档提供以下半帮助的段落:

startupinfo和creationflags(如果有的话)将被传递给底层的CreateProcess()函数。 他们可以指定诸如主窗口的外观和新过程的优先级等事物。 (仅限Windows)

不幸的是,Python联机文档不能复制Windows API文档的相关部分,因此您必须在其他位置找到这些文档,例如从MSDN开始, 这里将为您带来creationflags ,特别是

 CREATE_NO_WINDOW 0x08000000 

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

所以,在您的creationflags=0x08000000调用中添加creationflags=0x08000000应该会有所帮助(不幸的是我没有Windows试用版的机器,所以您必须亲自尝试一下)。