os.system Fehler auswerten

Hallo, ich nutze Scons (http://www.scons.org/) um verschiedene Targets umzusetzen, unter anderem rufe ich aus dem Sconsscript via os.system das Unixbekannte "configure, make, make install" auf. Falls nun das nun fehlschlägt, kann man das irgendwie dedektieren, also z.B. wenn das make irgendwelche includes nicht findet und abbricht, kann ich dann in meinem Sconsscript darauf reagieren? Danke Phil

Philipp Kraus wrote:
Hallo,
ich nutze Scons (http://www.scons.org/) um verschiedene Targets umzusetzen, unter anderem rufe ich aus dem Sconsscript via os.system das Unixbekannte "configure, make, make install" auf. Falls nun das nun fehlschlägt, kann man das irgendwie dedektieren, also z.B. wenn das make irgendwelche includes nicht findet und abbricht, kann ich dann in meinem Sconsscript darauf reagieren?
Ich empfehle subprocess.call/Popen statt os.system.
subprocess.call(["ls", "not-there"], stderr=open("/dev/null", "w")) 2
p = subprocess.Popen(["ls", "not-there"], stderr=subprocess.PIPE) p.communicate() (None, 'ls: Zugriff auf not-there nicht m\xc3\xb6glich: No such file or
Wenn der returncode nicht ausreicht, lässt sich auch die Ausgabe auf stdout oder stderr abfangen: directory\n')
p.returncode 2
participants (2)
-
Peter Otten
-
Philipp Kraus