在os.startfile()中如何隐藏控制台?
我有一个 .bat
文件,里面有一些参数;我用 os.startfile(test.bat)
来运行它。请问有没有办法把它的控制台隐藏起来?我试过用 subprocess
,效果不错,但当我关闭主程序的时候,用 py2exe
编译的 subprocess
控制台也会一起关闭。
info = subprocess.STARTUPINFO()
info.dwFlags=1
info.wShowWindow=0
subprocess.Popen(test.bat,startupinfo=info)
谢谢
1 个回答
8
使用 shell=True
和 creationflags=subprocess.SW_HIDE
来配合 subprocess.Popen
。这样做对我有效。
subprocess.Popen(['test.bat'], shell=True, creationflags=subprocess.SW_HIDE)
在某些版本的Python中,SW_HIDE
在 subprocess
模块中可能不可用。在这种情况下,你可能需要使用 _subprocess.SW_HIDE
。