"<" funktioniert nicht mehr unter Python 2.6.5

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
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

Montag 3. Mai 2010, 18:54

Nachdem ich ein Upgrade auf Python 2.6.5 durchgeführt habe funktioniert "<" in der Commandline von Windows XP nicht mehr, z.B. in Test.py < Test.txt. Ich erhalte: EOFError: EOF when reading a line. Wenn ich dasselbe Programm mit einer ebenfalls installierten 2.4-Version starte, klappt es wieder. Bis Python 2.6.4 funktionierte das trotz parallel installierter 2.4-Version problemlos. Außer der Installation von 2.6.5 habe ich nichts geändert. Hat jemand eine Idee?
MfG
HWK
fhoech
User
Beiträge: 143
Registriert: Montag 9. April 2007, 18:26

Montag 3. Mai 2010, 20:32

Das funktioniert bei mir auch schon seit einiger Zeit nicht (bin mir zwar nicht sicher, seit welcher Python-Version genau, aber zumindest seit 2.6.4). Es gibt allerdings einen Weg: Ruf die Datei mit dem Interpreter auf.
python test.py < test.txt
So klappts bei mir.
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Montag 3. Mai 2010, 20:33

Mir fällt nichts dazu ein, aber bei mir Python 2.6.5, Win7 32bit funktioniert sys.stdin erwartungsgemäß in der Standard cmd und in MSYS.

*edit* sowohl `python file.py < file.txt` als auch `file.py < file.txt`funktionieren bei mir, bei python 2.6.4 hat mindestens eine Variante funktioniert, habe jedoch nur eine Version raus.
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

Montag 3. Mai 2010, 21:41

fhoech hat geschrieben:Das funktioniert bei mir auch schon seit einiger Zeit nicht (bin mir zwar nicht sicher, seit welcher Python-Version genau, aber zumindest seit 2.6.4). Es gibt allerdings einen Weg: Ruf die Datei mit dem Interpreter auf.
python test.py < test.txt
So klappts bei mir.
Stimmt. Ich dachte, es würde an der anderen Python-Version liegen, da ich 2.4 so aufgerufen habe. Es klappt aber auch mit 2.6.
Danke
HWK
Benutzeravatar
jbs
User
Beiträge: 953
Registriert: Mittwoch 24. Juni 2009, 13:13
Wohnort: Postdam

Montag 3. Mai 2010, 23:11

Ist das Problem ähnlich wie hier: http://www.python-forum.de/post-168760.html#168760?
[url=http://wiki.python-forum.de/PEP%208%20%28%C3%9Cbersetzung%29]PEP 8[/url] - Quak!
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
ms4py
User
Beiträge: 1178
Registriert: Montag 19. Januar 2009, 09:37

Dienstag 4. Mai 2010, 07:04

Sr4l hat geschrieben:Mir fällt nichts dazu ein, aber bei mir Python 2.6.5, Win7 32bit funktioniert sys.stdin erwartungsgemäß in der Standard cmd.
dito (64bit)

Scheint das selbe Problem zu sein. Sehr seltsam.
@HWK: Kannst du das bestätigen?
„Lieber von den Richtigen kritisiert als von den Falschen gelobt werden.“
Gerhard Kocher

http://ms4py.org/
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

Dienstag 4. Mai 2010, 12:06

jbs hat geschrieben:Ist das Problem ähnlich wie hier: http://www.python-forum.de/post-168760.html#168760?
Nein.

@ms4py: Das Skript hatte ich aus cmd gestartet, raw_input() und input() quittierten aber den Dienst mit o.g. Fehlermeldung. Ich habe jetzt noch sys.stdin.read() getestet. Dabei gibt es ein IOError: [Errno 9] Bad file descriptor.
\Programme\Python26\python.exe test.py < test.txt funktioniert aber wieder einwandfrei.
MfG
HWK
ms4py
User
Beiträge: 1178
Registriert: Montag 19. Januar 2009, 09:37

Dienstag 4. Mai 2010, 13:35

Okay, scheint ein generelles XP-Problem zu sein, in meiner XP-VM taucht das selbe Problem auf (Python 2.6.4). Hab noch ein bisschen mit den Kodierungen der Input- und Source-Datei und den Zeilenenden rumgespielt, bin aber auch nicht weitergekommen...
„Lieber von den Richtigen kritisiert als von den Falschen gelobt werden.“
Gerhard Kocher

http://ms4py.org/
Antworten