Python-subprocess, Anruf(), check_call und returncode zu finden, wenn ein Befehl vorhanden ist

Ich habe herausgefunden, wie man mithilfe von call() auf, um mein python-Skript, um einen Befehl auszuführen:

import subprocess

mycommandline = ['lumberjack', '-sleep all night', '-work all day']
subprocess.call(mycommandline)

Funktioniert es, aber es gibt ein problem, was wenn Benutzer nicht über die Holzfäller in Ihr Befehl Pfad? Es würde funktionieren, wenn der waldarbeiter wurde in dem gleichen Verzeichnis wie das python-Skript, aber wie sieht das script weiß, es sollte für Holzfäller? Ich dachte, wenn es war ein Befehl-nicht-gefunden-Fehler dann Holzfäller wäre nicht im Befehl Weg, das Skript könnte versuchen, herauszufinden, was seinem Verzeichnis und suchen für Holzfäller gibt und schließlich warnen Sie die Benutzer zu kopieren Holzfäller in einen dieser zwei Orte, wenn es nicht gefunden werden. Wie finde ich heraus, was ist die Fehlermeldung? Ich habe gelesen, dass check_call() kann eine Fehlermeldung zurückgeben, und etwas über einen returncode Attribut. Ich konnte nicht finden Sie Beispiele zur Verwendung von check_call() und returncode, was die Nachricht sein würde, oder wie ich sagen könnte, wenn die Meldung Befehl nicht gefunden.

Bin ich noch über das der richtige Weg?

InformationsquelleAutor der Frage Dave Brunker | 2012-12-31

Schreibe einen Kommentar