Seite 1 von 1

konsolen ouput eines Programmes vor dem Beenden lesen

Verfasst: Dienstag 23. Februar 2010, 13:18
von surfhai
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

Verfasst: Dienstag 23. Februar 2010, 15:28
von surfhai
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()

Verfasst: Dienstag 23. Februar 2010, 15:58
von Dav1d
Hat mein Code doch wem genützt :)