2017-02-24 148 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文件的文件