0
我無法找到任何答案。 其中一條命令行是對exe的調用,它的返回值不相關。另一方面,代碼的輸出對我很重要。 我需要運行這個EXE並行到我寫的另一個BAT文件,但我找不到獲得輸出並行運行的方式。 python/cmd有沒有辦法做到這一點?並行運行多個命令行並打印輸出(Python/cmd)
我無法找到任何答案。 其中一條命令行是對exe的調用,它的返回值不相關。另一方面,代碼的輸出對我很重要。 我需要運行這個EXE並行到我寫的另一個BAT文件,但我找不到獲得輸出並行運行的方式。 python/cmd有沒有辦法做到這一點?並行運行多個命令行並打印輸出(Python/cmd)
在批處理文件中,您可以使用start XYZ
運行不阻塞的東西。如果你想使用python(我建議批量使用),請使用subprocess
模塊:
p1 = subprocess.Popen(["my.exe", "arg1", "arg2"])
p2 = subprocess.Popen(["cmd", "/c", "my.bat"])
p1.wait()
p2.wait()
令人驚歎。效果很好。謝謝!什麼; – AmitRe
是什麼; 'start'還是'subprocess'? – xtofl
您可以直接運行.bat或.cmd文件。 WinAPI'CreateProcess'通過'%ComSpec%'shell執行它,如果已定義,則默認爲cmd.exe。另外,CMD的'start'命令的'subprocess.Popen'也需要'creationflags = CREATE_NEW_CONSOLE | CREATE_NEW_PROCESS_GROUP'。你現在的例子更像'start/b'。 – eryksun