von sys.stdin 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
Blue-Tiger
User
Beiträge: 11
Registriert: Samstag 2. April 2005, 21:45
Kontaktdaten:

Hi there!
ich moechte mein Script gern ueber Commandline-Pipes (bzw. die Umleitung von STDIN) Daten uebergeben. Mein erster ganz einfacher Versuch:

Code: Alles auswählen

import sys
data = sys.stdin.read()
print data
und sein Ergebnis beim Aufruf:

Code: Alles auswählen

D:\works\coding\python>markov.py < test.txt
Traceback (most recent call last):
  File "D:\works\coding\python\markov.py", line 8, in ?
    data = sys.stdin.read()
IOError: [Errno 9] Bad file descriptor

D:\works\coding\python>

Selbiges Ergebnis wenn ich statt read() readlines() verwende... Verwende ich readline(), dann werden 3 Leerzeilen ausgegeben. :?:

Was ist der richtige Weg, um mein Ziel in Python zu realisieren? Ich will den ganzen Inhalt von STDIN in "data". Bevor jetzt jemand kommt mit: gib einfach den Dateinamen als Kommandozeilenargument mit und oeffne die Datei dann open() - das moecht ich nicht!

Komm aus der C++ - Ecke und wuerde gerne Python lernen :)
[b]Ordnung ist das Chaos, an das man sich gewöhnt hat
[i]Der Weg ist das Ziel[/b][/i]
[url=http://bluetiger.bauchlandung.org/]bluetiger.bauchlandung.org[/url]
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

Hi!

Hmm, ich weiß nicht, aber bei mir funtioniert das so wie Du's gezeigt hast.

Gruß, mawe
Blue-Tiger
User
Beiträge: 11
Registriert: Samstag 2. April 2005, 21:45
Kontaktdaten:

ok, my bad:

Ein Aufruf von

Code: Alles auswählen

markov.py < test.txt
gibt obigen Fehler. Ein Aufruf von

Code: Alles auswählen

python markov.py < test.txt
hingegen funktioniert wie er soll.... Tut mir leid fuer's nerven ;)
[b]Ordnung ist das Chaos, an das man sich gewöhnt hat
[i]Der Weg ist das Ziel[/b][/i]
[url=http://bluetiger.bauchlandung.org/]bluetiger.bauchlandung.org[/url]
Antworten