sys.stdin

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.
ertlpott
User
Beiträge: 44
Registriert: Montag 14. April 2003, 16:05
Kontaktdaten:

sys.stdin

Beitragvon ertlpott » Donnerstag 3. Juli 2003, 15:53

Bei diesem Code

Code: Alles auswählen

import sys
data = sys.stdin.readlines()
print "Habe",len(data),"Zeilen gezählt"

sollte, laut meinem veralteten Buch, mein Computer den String "Habe 3 Zeilen gezählt" ausspucken
Das einzige was jedoch geschieht, ist, dass, beim Aufruf der Datei, ich am Beginn der nächsten Zeile stehe, das weiße Kästchen Blinkt, und ich etwas eingeben kann.

Liegt das daran, dass mein Buch noch von Version 1.5 schreibt :wink:, oder an was anderem?
joerg
User
Beiträge: 188
Registriert: Samstag 17. August 2002, 17:48
Wohnort: Berlin
Kontaktdaten:

Re: sys.stdin

Beitragvon joerg » Donnerstag 3. Juli 2003, 16:15

ertlpott hat geschrieben:Bei diesem Code

Code: Alles auswählen

import sys
data = sys.stdin.readlines()
print "Habe",len(data),"Zeilen gezählt"

sollte, laut meinem veralteten Buch, mein Computer den String "Habe 3 Zeilen gezählt" ausspucken
Das einzige was jedoch geschieht, ist, dass, beim Aufruf der Datei, ich am Beginn der nächsten Zeile stehe, das weiße Kästchen Blinkt, und ich etwas eingeben kann.

Liegt das daran, dass mein Buch noch von Version 1.5 schreibt :wink:, oder an was anderem?


An der Version liegt das sicher nicht.

Vielleicht hast Du ein veraltetes stdin? Inzwischen gibt es welche mit mindestens zehn statt drei Zeilen zu kaufen!

Aber Spaß beiseite: Das Verhalten ist doch genau so, wie Du es programmiert hast: lese zeilenweise von der Standardeingabe (und zwar bis Dateiende). Wenn Du jetzt drei Zeilen Text eintippst und dann Dateiende (unter UNIX z.B. CTRL-D), wird die erwartete Ausgabe kommen.

Vielleicht ist das in deinem Buch nicht deutlich beschrieben, aber ich tippe auf ein Verständnisproblem deinerseits. :-)

Jörg
Voges
User
Beiträge: 564
Registriert: Dienstag 6. August 2002, 14:52
Wohnort: Region Hannover

Re: sys.stdin

Beitragvon Voges » Donnerstag 3. Juli 2003, 16:15

Hast Du auch die nächsten 6 Zeilen des Buches gelesen ;-)?
Ansonsten, Du kannst bei dem blinkenden Cursor was eingeben (auch mehrere Zeilen) und dann unter Windows mit <strg><z> und unter Unix mit <strg><d> das Dateiende simulieren.
Jan
gast

geht doch gar net!

Beitragvon gast » Freitag 4. Juli 2003, 00:05

also bei mir geht der code gar net....
Gast

weil es anders heissen muss

Beitragvon Gast » Freitag 4. Juli 2003, 01:07

nämlich readline anstatt readlines :D
joerg
User
Beiträge: 188
Registriert: Samstag 17. August 2002, 17:48
Wohnort: Berlin
Kontaktdaten:

Re: weil es anders heissen muss

Beitragvon joerg » Freitag 4. Juli 2003, 08:05

rolgal hat geschrieben:nämlich readline anstatt readlines :D


readlines() gibt alle Zeilen als String-Liste wieder, readline() gibt die nächste Zeile.

Vielleicht ist Deine Python-Version zu alt?

Jörg
ertlpott
User
Beiträge: 44
Registriert: Montag 14. April 2003, 16:05
Kontaktdaten:

re

Beitragvon ertlpott » Montag 7. Juli 2003, 08:30

sry, war das wochenende weg.

also an einer veralteten python version kann es glaube ich nicht liegen, ich hab 2.2.
hab schon die nächsten zeilen (oder seiten :wink: ) gelesen, aber bei mir funzts trotzdem ned
klingt jetz wahrscheinlich komplett bescheuert, aber wenn ich bei dem prog dann auf strg+z drücke, steht dann nur "^Z" in der Kommandozeile.
naja egal

trotzdem danke.
Gast

Re: re

Beitragvon Gast » Montag 7. Juli 2003, 09:15

ertlpott hat geschrieben: aber wenn ich bei dem prog dann auf strg+z drücke, steht dann nur "^Z" in der Kommandozeile.
Stimmt, danach muss man noch einmal <enter> drücken.
Jan
ertlpott
User
Beiträge: 44
Registriert: Montag 14. April 2003, 16:05
Kontaktdaten:

re

Beitragvon ertlpott » Dienstag 8. Juli 2003, 13:28

ahaaaaaaaaaaaaa
:lol: Begriffstutziger gehts glaub ich nicht mehr *gg*

danke für die Geduld

Grüße

Simon

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder