Ich bin eine Anwendung in meinem Code ausgeführt, und es schreibt Dateien neu, die ich später im Code lesen muss. Es gibt keine Ausgabe die direkt in mein Programm geht. Ich kann meinen Code nicht warten lassen, bis der Subprozess beendet ist, es geht einfach weiter und liest die unveränderten Dateien.Warten auf Unterprozess .exe zu beenden, bevor Sie in Python gehen
Ich habe proprocess.Popen.wait(), subprocess.call() und subprocess.check_call() versucht, aber keiner von ihnen funktioniert für mein Problem. Hat jemand eine Idee, wie das funktioniert? Vielen Dank.
Edit: Hier ist der relevante Teil meines Code:
os.chdir('C:\Users\Jeremy\Documents\FORCAST\dusty')
t = subprocess.Popen('start dusty.exe', shell=True)
t.wait()
os.chdir('C:\Users\Jeremy\Documents\FORCAST')
Menschen beschweren sich normalerweise über das Gegenteil; d.h. blockierende Unterprozesse. Wie sieht dein Code aus? (Fügen Sie es der Frage hinzu) – jDo
Vielleicht erzeugt die Anwendung einen separaten Prozess und kehrt sofort danach zurück. – martineau
Wie würde ich wissen, wenn das passiert, und wenn ja, wie würde ich es lösen? – Spuds