在os.startfile()中运行时隐藏控制台?

时间:2011-06-11 02:21:34

标签: python windows

我有一个带参数的.bat文件;我使用os.startfile(test.bat)运行它。有没有办法隐藏它的控制台?我尝试使用subprocess,但效果很好但是当我关闭父程序时,使用subprocess控制台模式编译的py2exe也会关闭。

info = subprocess.STARTUPINFO()
info.dwFlags=1
info.wShowWindow=0 
subprocess.Popen(test.bat,startupinfo=info)

由于

1 个答案:

答案 0 :(得分:7)

shell=Truecreationflags=subprocess.SW_HIDEsubprocess.Popen一起使用。这对我有用

subprocess.Popen(['test.bat'], shell=True, creationflags=subprocess.SW_HIDE)

在某些Python版本中,SW_HIDE模块中没有subprocess。在这种情况下,您可能必须使用_subprocess.SW_HIDE