2014-01-07 74 views
1

每當我產卵使用subprocess.Popen Windows命令行正在推出含有該消息的第二個應用是說以下內容:The operation completed successfully.subprocess.Popen成功消息

這實在是煩人。有沒有辦法來禁用這個?我必須設置關卡報告還是什麼?

+0

你能顯示有問題的代碼嗎? – mgilson

+0

@mgilson它就像...'subprocess.Popen([「application.exe」],env = os.environ.copy(),close_fds = True)一樣簡單。 – Lucas

+0

如果您手動運行'application.exe',命令行會彈出,還是僅在您的代碼中發生? – aquavitae

回答

2

這應該工作:

si = subprocess.STARTUPINFO() 
si.dwFlags=subprocess.STARTF_USESHOWWINDOW 
subprocess.Popen(["application.exe"], env=os.environ.copy(), close_fds=True, startupinfo=si) 

它的作用是告訴Popen使用特定參數啓動進程時(由STARTUPINFO對象,si定義)。在這種情況下,它會告訴它在創建新窗口時使用si.wShowWindow,並且它的默認值爲SW_HIDE,因此它將其隱藏。

+0

': '模塊'對象沒有屬性'STARTF_USESHOWWINDOW'' – Lucas

+0

你使用的是什麼版本的Python?這工作在2.7,根據文檔應該工作在3.3。我假設你在Windows上測試過,常量只在Windows上定義。 – aquavitae

+0

使用Python 2.7以及Windows 8 – Lucas