Seite 1 von 1

Systembefehle einlesen

Verfasst: Sonntag 6. Oktober 2002, 17:59
von hans
Heute mal was einfaches ohne QT :D

Erstens: Wenn ich auf meine Linuxkiste tar mit der option --total angebe, erzählt mir tar anschließend, wieviele Bytes insgesamt geschrieben wurden. Das bekomme ich aber in Python (Version 2.1.1) nicht eingelesen. Wie bekomme ich Zugriff darauf?

Zweitens: Wenn ich ein Systemprogramm aufrufe und es kommt zu einem Fehler, dann sehe ich das bei einer Pythonoberfläche ja auch nicht. Wie fangt Ihr systemfehler ab und zeigt sie an?

Hans

Re: Systembefehle einlesen

Verfasst: Sonntag 6. Oktober 2002, 20:18
von Voges
Ich schon wieder!

os.popen3() oder popen2.popen3() sind wohl die beste Wahl:


>>> import os
>>> stdIn,stdOut,stdErr = os.popen3("ls gibts gibtsnicht")
>>> print stdOut.readlines()
['gibts\n']
>>> print stdErr.readlines()
['ls: gibtsnicht: Datei oder Verzeichnis nicht gefunden\n']
>>>


Jan

Verfasst: Sonntag 6. Oktober 2002, 22:14
von hans
Prima, hat bestens geklappt. Aber wofür ist denn stdIn? Kann man auf dem Wege das aufgerufene Programm etwa auch füttern?

Hans