Seite 1 von 1

Ausgabe eines anderen Programms abfangen und ausgeben

Verfasst: Dienstag 31. Mai 2011, 17:23
von BLU3L30PARD
Hey!

Ich möchte gerne über ein Python Programm ein Programm starten
und dessen Ausgabe ausgeben. Wenn ich z.B. einen Compiler für
C++ habe, und diesen über Python starte, dann möchte ich Meldungen
wie "gcc: no input files" o.ä. anzeigen... Muss ich da evtl. irgenwie
eine Art Kommandozeile embeden oder wie?

Achja: Falls es hilft: ich verwende für die GUI PyQt, also
ausgabewidget wird ein QTextEdit sein ;)

Re: Ausgabe eines anderen Programms abfangen und ausgeben

Verfasst: Dienstag 31. Mai 2011, 17:25
von problembär
subprocess-Modul.
Hilfsweise - ich bleibe dabei - "os.popen()", auch wenn's ein bißchen "quick'n dirty" erscheinen mag.

Re: Ausgabe eines anderen Programms abfangen und ausgeben

Verfasst: Mittwoch 1. Juni 2011, 10:17
von lunar
@BLU3L30PARD: Im Falle von Qt bist Du mit "QtCore.QProcess" besser bedient. Diese Klasse sendet Signale, wann immer ein Prozess eine Ausgabe erzeugt, so dass sich der Prozess ausführen lässt ohne die Oberfläche zu blockieren.