2016-05-31 3 views
-1

Ich verwende ArcGIS 10.2, um eine Schnittstelle zu erstellen. Ich verwende Python 2.7 zu nennen, und führen Gams im HintergrundWie kann man wissen, wann ein Programm beendet wurde, wenn es im Hintergrund läuft?

import subprocess 
subprocess.check_call([r"C:\GAMS\win64\24.4\gamside.exe",r"C:\Users\sofia\Downloads\file_name.gms"]) 

Nach Gams mit ausgeführt wird, exportiert es Excel-Dateien und ich brauche einen Weg, um dieses Programm beendet laufen zu wissen, und öffnen Sie diese Excel-Dateien führt. Wie kann ich wissen, wann Gams fertig ist? Ist es möglich, eine Flagge oder eine andere Methode zu senden?

Antwort

1

Vom manual:

subprocess.check_call (args, *, stdin = None, stdout = None, stderr = None, Shell = False)

Run-Befehl mit Argumenten. Warten Sie, bis der Befehl abgeschlossen ist. Wenn der Rückkehrcode Null war, dann gebe zurück, sonst erhöhe CalledProcessError. Das CalledProcessError-Objekt wird den Rückgabecode im Returncode-Attribut haben.

einfach wickeln Sie versuchen, rufen/except und den Code Ausgang überprüfen und Sie werden wissen, ob es erfolgreich oder nicht fertig.

Verwandte Themen