使用subprocess.call或subprocess.Popen,执行shell命令可使shell窗口快速出现和消失。
subprocess.call
subprocess.Popen
没有外壳窗口的情况下如何运行shell命令?
我认为您的观察仅限于Windows,因为我认为这是您将获得“控制台闪存”问题的唯一平台。如果是这样,那么文档将提供以下半有用的段落:
如果指定了startupinfo和creationflags,则将它们传递给基础CreateProcess()函数。他们可以指定诸如主窗口外观和新进程优先级之类的内容。(仅Windows)
不幸的是,Python的在线文档不再现Windows的API文档的相关部分,所以你必须找到那些在其他地方,如开始在这里在MSDN上,这导致你在这里的creationflags,并且具体地
creationflags
CREATE_NO_WINDOW 0x08000000
该过程是一个没有控制台窗口即可运行的控制台应用程序。因此,未设置应用程序的控制台句柄。
因此,添加creationflags=0x08000000到您的Popen通话中应该会有所帮助(不幸的是,我没有Windows试运行的计算机,因此您必须自己尝试一下)。
creationflags=0x08000000
Popen