ich bekomme von Zeit zu Zeit einen broken pipe error. Der sieht genaugenommen so aus:
Code: Alles auswählen
<type 'exceptions.IOError'>: [Errno 32] Broken pipe
http://www.python-forum.de/viewtopic.php?f=1&t=23429 Konsolenausgabe von externen Programm verwenden
und seitdem komme das dann und wann. ein gwöhnliches printf verweigert dann die Ausgabe.
Verwendet wird das u.a. so:
Code: Alles auswählen
stdout, stderr = Popen(["locate", self.cbPattern.GetValue()], stdout=PIPE, stderr=PIPE).communicate()
self.listctrl.SetItems(stdout.split('\n'))
Code: Alles auswählen
stdout, stderr = Popen(["gksudo", "updatedb"], stdout=PIPE, stderr=PIPE).communicate()
muss ich die Pipe wieder irgendwie "restoren"?
Würde der von mir vorgeschlagene (jedoch kritisierte Code) den Fehler umgehen?
Code: Alles auswählen
stdout_handle = os.popen("ls -l", "r")
consoleout = stdout_handle.read()