Systembefehle einlesen

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.
Benutzeravatar
hans
User
Beiträge: 728
Registriert: Sonntag 22. September 2002, 08:32
Wohnort: Sauerland
Kontaktdaten:

Systembefehle einlesen

Beitragvon hans » Sonntag 6. Oktober 2002, 17:59

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
Voges
User
Beiträge: 564
Registriert: Dienstag 6. August 2002, 14:52
Wohnort: Region Hannover

Re: Systembefehle einlesen

Beitragvon Voges » Sonntag 6. Oktober 2002, 20:18

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
Benutzeravatar
hans
User
Beiträge: 728
Registriert: Sonntag 22. September 2002, 08:32
Wohnort: Sauerland
Kontaktdaten:

Beitragvon hans » Sonntag 6. Oktober 2002, 22:14

Prima, hat bestens geklappt. Aber wofür ist denn stdIn? Kann man auf dem Wege das aufgerufene Programm etwa auch füttern?

Hans

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder