Seite 1 von 1
Problem mit readline()
Verfasst: Samstag 26. Januar 2019, 15:02
von hamza.balci
Hallo,
ich habe ein Problem beim Ablesen einer Textdatei. Es wird immer eine Zeile übersprungen, wenn ich den Text ausgebe.
Code: Alles auswählen
k = input()
obj = open((k), "r")
for lines in obj:
zwl = obj.readline()
print (zwl)
obj.close
Die Textdatei vorher:
1
2
3
4
5
6
7
Ausgegeben wird aber nur:
2
4
6
Was ist das Problem ?
Re: Problem mit readline()
Verfasst: Samstag 26. Januar 2019, 16:19
von __deets__
Das du zweimal eine Zeile liest. Die for-Schleife liefert dir doch schon eine Zeile. Du benennst die falsch mit "lines", weil das natuerlich immer nur eine Zeile ist. Aber ein simples
ist alles was du brauchst.
Re: Problem mit readline()
Verfasst: Samstag 26. Januar 2019, 16:26
von ArtooDetoo
Abgesehen davon, sollte man Dateien mithilfe von
with öffnen (
https://www.pythonforbeginners.com/file ... -in-python ).
Re: Problem mit readline()
Verfasst: Samstag 26. Januar 2019, 16:51
von __blackjack__
@hamza.balci: Wobei Du da auch noch Glück hast das tatsächlich nur jede zweite Zeile übersprungen wird, denn der Iterator ist effizienter als `readline()` denn er kann auch mehr als nur eine Zeile lesen und zwischenspeichern, während `readline()` tatsächlich nur bis zum nächsten Zeilenende liest. Iterieren und `readline()` zu mischen ist also gar keine gute Idee.
Re: Problem mit readline()
Verfasst: Sonntag 27. Januar 2019, 12:00
von hamza.balci
__deets__ hat geschrieben: Samstag 26. Januar 2019, 16:19
Das du zweimal eine Zeile liest. Die for-Schleife liefert dir doch schon eine Zeile. Du benennst die falsch mit "lines", weil das natuerlich immer nur eine Zeile ist. Aber ein simples
ist alles was du brauchst.
Macht keinen Unterschied. Es wird trotzdem eine Zeile übersprungen.
Re: Problem mit readline()
Verfasst: Sonntag 27. Januar 2019, 12:10
von ThomasL
@hamza wie sieht denn dein Code jetzt aus?
Was erwartest du von uns, wie wir dir helfen sollen, ohne das du uns zeigst, was bei dir keinen Unterschied macht?
Re: Problem mit readline()
Verfasst: Sonntag 27. Januar 2019, 12:12
von __deets__
Wird es garantiert nicht. Bitte zeige deinen Code.
Re: Problem mit readline()
Verfasst: Sonntag 27. Januar 2019, 12:13
von hamza.balci
__deets__ hat geschrieben: Samstag 26. Januar 2019, 16:19
Das du zweimal eine Zeile liest. Die for-Schleife liefert dir doch schon eine Zeile. Du benennst die falsch mit "lines", weil das natuerlich immer nur eine Zeile ist. Aber ein simples
ist alles was du brauchst.
Sorry Kommentar falsch gelesen. Hat alles geklappt. Danke !
Re: Problem mit readline()
Verfasst: Sonntag 27. Januar 2019, 12:16
von hamza.balci
Danke nochmals. Ich habe nicht erwartet, dass ihr so schnell antwortet. Wirklich sehr gutes Forum.