在我的python腳本:Python:我如何在新的cmd窗口中執行bat文件?
p = Popen('a.bat')
的問題是,該批處理文件的輸出被投入在我執行我的Python腳本主控制檯窗口...我想要的批處理文件的輸出爲在新的控制檯窗口中顯示。任何幫助,將不勝感激。謝謝。
在我的python腳本:Python:我如何在新的cmd窗口中執行bat文件?
p = Popen('a.bat')
的問題是,該批處理文件的輸出被投入在我執行我的Python腳本主控制檯窗口...我想要的批處理文件的輸出爲在新的控制檯窗口中顯示。任何幫助,將不勝感激。謝謝。
您可以設置CREATE_NEW_CONSOLE
標誌。例如:
import subprocess
p = subprocess.Popen('a.bat', creationflags=subprocess.CREATE_NEW_CONSOLE)
關於shell=True
的文檔是與implementation不一致。如果指定shell=True
,則只有在平臺是Win9x或使用16位COMMAND.COM
外殼程序時,纔會設置CREATE_NEW_CONSOLE
。
我以前沒有使用過蟒蛇,所以我無法測試,但這應該工作
p = Popen('cmd.exe /k start a.bat')
對不起,但這是行不通的。它需要設置創建標誌來告訴Win32的'CreateProcess'爲該進程創建一個新的控制檯,而不是繼承當前的控制檯。 – eryksun
這給我所期望的...謝謝。 :) – sky