"Subprocess.Popen" - Überprüfung auf Erfolg und Fehler
Ich möchte überprüfen, ob ein Teilprozess die Ausführung erfolgreich abgeschlossen hat oder fehlgeschlagen ist. Derzeit habe ich eine Lösung gefunden, bin mir aber nicht sicher, ob sie korrekt und zuverlässig ist. Ist gewährleistet, dass jeder Prozess seine Fehler nur an stderr respektvoll ausgibtstdout
:
Hinweis: Ich möchte nicht nur die Ausgabe umleiten / ausdrucken. Das weiß ich schon.
pipe = subprocess.Popen(command,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
universal_newlines=True)
if "" == pipe.stdout.readline():
print("Success")
self.isCommandExectutionSuccessful = True
if not "" == pipe.stderr.readline():
print("Error")
self.isCommandExectutionSuccessful = True
Alternative:
if "" == pipe.stdout.readline():
print("Success")
self.isCommandExectutionSuccessful = True
else:
print("Error")
self.isCommandExectutionSuccessful = False
und:
if not "" == pipe.stderr.readline():
print("Success")
self.isCommandExectutionSuccessful = True
else:
print("Error")
self.isCommandExectutionSuccessful = False