os.system Fehler auswerten

04/11/2011 - 12:30 von Philipp Kraus | Report spam
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
 

Lesen sie die antworten

#1 Peter Otten
04/11/2011 - 14:35 | Warnen spam
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

Wenn der returncode nicht ausreicht, làsst sich auch die Ausgabe auf stdout
oder stderr abfangen:

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
directory')
p.returncode






2

Ähnliche fragen