2017-02-24 5 views
0

Ich versuche Python 3 zu verwenden, um ein Windows-Programm mehrmals mit verschiedenen Eingaben auszuführen. Um das Programm von der Befehlszeile ausführen ichPython wartet nicht darauf, dass der Subprozess beendet wird?

C:\prog -v input_file 

Mein Python entspricht

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

Ich muss warten, bevor prog zu beenden Nachbearbeitung der Ergebnisse, aber etwas ist nicht ganz richtig. Zum Beispiel würde, wenn ich das Programm 3 mal und schreiben Sie eine Zusammenfassung der Ergebnisse Datei ausführen Ich erwarte, dass dieses

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

zu sehen, aber das ist, was eigentlich

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

Es gibt bekomme ich eine ganze Bündel von WMIC-Prozessen, die ausgeführt werden, nachdem ich das Python-Skript beendet habe, also haben diese vielleicht etwas mit dem Problem zu tun? Im Grunde scheint das Python-Skript sich selbst vorauszukommen und einen Teil der Nachbearbeitung zu früh durchzuführen. Alle Vorschläge dankbar angenommen - danke!

Antwort

1

Entschuldigung - wir haben uns den Code genauer angeschaut und es gab ein Problem mit dem Einrücken, das den Programmablauf und damit die Art und Weise beeinflusste, in der die Daten in die Datei geschrieben wurden. Immer noch Probleme mit den WMIC-Dateien, aber schließen Sie dieses Problem und öffnen Sie ein separates über die WMIC-Dateien

Verwandte Themen