konsolen ouput eines Programmes vor dem Beenden lesen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
surfhai
User
Beiträge: 10
Registriert: Montag 21. Dezember 2009, 22:45

Hallo,

ich möchte gerne den Konsolen output eines Programmes lesen können, noch während es etwas abarbeitet und dabei ständig Informationen zu dem Prozess auf der Konsole ausgibt.

Folgendes habe ich gefunden das es ermöglicht nach der Abarbeitung den Output zu verarbeiten. Ist aber noch nicht ganz das was ich suche.

Code: Alles auswählen

from subprocess import Popen, PIPE
cmd = 'ls -l'
p = Popen(cmd, stdout=PIPE, stderr=PIPE)
stdout, stderr = p.communicate()
ls -l ist dabei auch nicht das beste Beispiel :)

Gruß Thorsten
surfhai
User
Beiträge: 10
Registriert: Montag 21. Dezember 2009, 22:45

sorry, hatte übersehn, dass das gleiche thema schon etwas weiter unten war:

hier der code den ich zum laufen gebracht habe

Code: Alles auswählen

#!/usr/bin/env python
#coding=utf8


from subprocess import Popen, PIPE, STDOUT
#sollte ein etwas laenger dauerndes kommando sein
cmd = 'ls -l'
p = Popen(cmd.split(' '), bufsize=1, stdout=PIPE, stderr=STDOUT)

while True:
        line = p.stdout.readline()
        if not line:
                break
        print 'STDOUT >>>' + line.rstrip()
Dav1d
User
Beiträge: 1437
Registriert: Donnerstag 30. Juli 2009, 12:03
Kontaktdaten:

Hat mein Code doch wem genützt :)
the more they change the more they stay the same
Antworten