Holen Sie sich einen Rückgabewert mittels subprocess
Ich möchte in der Lage sein zu definieren eine variable, indem Sie den Rückgabewert eines Skripts. Dies ist, was ich derzeit habe:
sum_total_earnings_usd = subprocess.call([SCRIPT, "-d", date])
Habe ich überprüft den Rückgabewert des SKRIPTS, jedoch wenn ich versuchen und setzen Sie diese variable, es gibt immer 0 zurück ( http://docs.python.org/library/subprocess.html#subprocess.call ). Wie würde ich dieses Skript ausführen und erfassen den Rückgabewert zu speichern als eine variable?
InformationsquelleAutor der Frage David542 | 2012-01-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden
Unterprozess.check_output()
stattUnterprozess.call()
.InformationsquelleAutor der Antwort
Wenn Ihr Skript wieder den Wert, dann würden Sie wollen, um
Unterprozess.check_output()
:subprocess.check_call()
erhält den letzten Rückgabewert aus dem Skript, und 0 bedeutet in der Regel "das Skript wurde erfolgreich abgeschlossen".InformationsquelleAutor der Antwort Makoto
subprocess.call
schon kehrt der Prozess zurück Wert. Wenn Sie immer0
sind, dann werden Sie brauchen, um zu überprüfenSCRIPT
um sicherzustellen, dass es ist die Rückkehr der Wert, den Sie erwarten.Zu überprüfen, können Sie führen Sie auch die
SCRIPT
in einer shell, und verwenden Sie$?
um den return-code.InformationsquelleAutor der Antwort jcollado