Seite 1 von 1

Text File lesen und Wert in Variable speichern

Verfasst: Sonntag 21. Juni 2020, 20:15
von SaberGFX
Hallo Forum.

Ich habe folgende Aufgabenstellung die ich nicht lösen kann.
Ich habe eine Text Datei mit einer Zeile Text. Von dieser möchte ich den ersten Buchstaben mit einer if-Abfrage prüfen und den Wert in einer Variable speichern.
Leider kann ich den Wert schon nicht prüfen. Hier mein vorgehen.

Code: Alles auswählen

datei = open('marker.txt','r')

if datei.read(1) == "a":
    print("So geht es nicht.")
Vielen Dank und Gruß, Saber.

Re: Text File lesen und Wert in Variable speichern

Verfasst: Sonntag 21. Juni 2020, 20:49
von Sirius3
Und warum geht das nicht?

Re: Text File lesen und Wert in Variable speichern

Verfasst: Sonntag 21. Juni 2020, 21:23
von SaberGFX
Oh scheint doch zu gehen. Also die if-Abfrage!

Aber den ersten Wert nun in eine Variable zu schreiben geht nicht. Dort speichert er mir den falschen Wert.
In der Text-Datei steht als Test "alpha".
Und wenn ich b printe bekomme ich "l".

Code: Alles auswählen

b = 0
if datei.read(1) == "a":
    print("Oh geht doch")
    b = datei.read(1) 
    print(b)
    datei.close()

Re: Text File lesen und Wert in Variable speichern

Verfasst: Sonntag 21. Juni 2020, 21:43
von Sirius3
Erst liest Du das erste Zeichen und vergleichst es mit "a" und dann liest Du das zweite Zeichen und speicherst es in `b`. So hast Du es programmiert. Wenn Du es anders willst, dann mußt Du es anders programmieren.
Die Datei sollte man in jedem Fall wieder schließen, am besten geht das mit dem with-Statement.
Das `b = 0` wird nicht gebraucht und kann weg.

Re: Text File lesen und Wert in Variable speichern

Verfasst: Sonntag 21. Juni 2020, 22:07
von snafu
Um das noch etwas deutlicher zu machen: Die Angabe bei read() ist relativ zur aktuellen Position zu sehen. Wenn man schon ein Zeichen gelesen hat, dann steht der interne Cursor vor dem zweiten Zeichen, sodass ein erneutes read(1) das zweite Zeichen liefert.