使用subprocess.call
或subprocess.Popen
,執行shell命令會使shell窗口快速出現並消失。在沒有shell窗口的情況下運行shell命令
如何在沒有shell窗口的情況下運行shell命令?
使用subprocess.call
或subprocess.Popen
,執行shell命令會使shell窗口快速出現並消失。在沒有shell窗口的情況下運行shell命令
如何在沒有shell窗口的情況下運行shell命令?
我想你的觀察僅限於Windows,因爲我相信這是唯一一個你會得到「控制檯閃存」問題的平臺。如果是這樣,那麼docs提供以下半段有所幫助:
的STARTUPINFO和creationflags,如果給 ,將被傳遞給底層 CreateProcess()函數。 他們可以指定諸如 外觀的主窗口和 優先級爲新進程。 (視窗 只)
不幸的是Python的在線文檔不再現Windows的API文檔的相關部分,所以你必須在其他地方找到的,例如MSDN上開始here導致你here爲creationflags
,並且具體地
CREATE_NO_WINDOW
0x08000000
過程是一個控制檯應用程序 是正在運行沒有一個控制檯 窗口。因此,應用程序的控制檯句柄 未設置。
因此,增加creationflags=0x08000000
您Popen
調用應該幫助(可惜我沒有在其上嘗試了這一點,所以你必須自己嘗試一下Windows的跑步機)。
謝謝你快速回答! – 2010-05-29 16:28:14
在Windows機器上驗證。謝謝! – 2011-10-20 06:32:44
非常好,這個作品! – ChristopheD 2011-12-06 12:37:58
什麼平臺? (聽起來像Windows) – 2010-05-29 16:05:45
相關:[我如何隱藏控制檯,當我使用os.system()或subprocess.call()?](http://stackoverflow.com/q/7006238/4279) – jfs 2014-05-22 00:34:58