2017-02-24 186 views
0

我想用Python 3運行一個Windows程序多次不同的輸入。要通過命令行運行程序我用Python沒有等待子進程完成?

C:\prog -v input_file 

我的Python相當於是

args = ['prog','-v', input_file] 
subprocess.call(args) 

我需要等待prog完成前後期處理的結果,但事情是不完全正確。例如,如果我運行程序的3倍,並把結果寫入的總結提交我希望看到這個

run 1 summary of run 1 
run 2 summary of run 2 
run 3 summary of run 3 

,但是這是我真正得到

run 2 summary of run 2 
run 3 summary of run 3 
run 3 summary of run 3 

有一個整體在完成Python腳本之後,一羣WMIC進程正在運行,所以也許這些與這個問題有關?基本上,Python腳本似乎超越了自己,並且過早地進行了一些後期處理。所有建議感激地收到 - 謝謝!

回答

1

對不起 - 仔細看了一下代碼,發現存在一個問題,即縮進哪些受影響的程序流以及數據寫入文件的方式。仍然有WMIC文件的問題,但會關閉此問題並單獨打開一個關於WMIC文件的文件