Also ich hab folgendes kleineres Problem. Ich möcht mit n paar Freunden ein kleineres Spiel scripten. Im großen und ganzen steht auch die rohaufteilung auf papier schon weil das meiste nur if-else abfragen sind. Da es aber Punkte gibt die abgespeichert werden sollen und das ganze Spiel für mehrere User laufen soll hab ich einen registrier-button auf die erste seite. Danach kommen 3 Eingabefelder. Name - Passwort - Passwort (wiederh.). Diese Daten werden dann in eine neue textfile mit dem namen username.txt geschrieben (also der eingegebene name.txt). Beim Login steh ich nun aber vor einem Problem. Er soll nur die 2. Zeile in dieser Text-file lesen. Wie ich ihn dazu bring weiß ich aber nicht ...
Wär nett wenn ihr mir da helfen könntet
Gruß schnefels
p.s: wird geschrieben mit Tkinter auf Windows 2000
In zeile x springen
-
- Python-Forum Veteran
- Beiträge: 2010
- Registriert: Freitag 11. Oktober 2002, 18:00
- Wohnort: Salzburg
- Kontaktdaten:
Hi schnefels,
das geht am Einfachsten wohl so:
Gruß
Dookie
das geht am Einfachsten wohl so:
Code: Alles auswählen
f = file(username+".txt","r")
Zeile2 = f[1] # Zeile1 = f[0]
f.close()
Gruß
Dookie
zeile2= f[1]
TypeError: unsubscriptable object
kommt leider als fehlermeldung
TypeError: unsubscriptable object
kommt leider als fehlermeldung
-
- Python-Forum Veteran
- Beiträge: 2010
- Registriert: Freitag 11. Oktober 2002, 18:00
- Wohnort: Salzburg
- Kontaktdaten:
uups
so gehts aber
Dookie
Code: Alles auswählen
f = file(f = file(username+".txt","r")
Zeile2 = list(f)[1] # Zeile1 = list(f)[0]
f.close()
Dookie
hey cool, danke funktioniert
Grüßle aus Franken
Grüßle aus Franken
Hi. Das scheint mir aber mehr eine Schnelllösung zu sein, denn mit list würdest du ja die ganze Datei auslesen (mit unter seeeeehr speicherlastig). Also besser nur für dieses Problem benutzen und ansonsten mal eben eine for-Schleife basteln, die dann aber auch nach der x-ten Zeile abbricht...Dookie hat geschrieben:uups
so gehts aberCode: Alles auswählen
f = file(f = file(username+".txt","r") Zeile2 = list(f)[1] # Zeile1 = list(f)[0] f.close()
Dookie
-
- Python-Forum Veteran
- Beiträge: 2010
- Registriert: Freitag 11. Oktober 2002, 18:00
- Wohnort: Salzburg
- Kontaktdaten:
Hi Milan,
stimmt, is eine "quick and dirty" Lösung
hier die "slow and clean" Version:
Gruß
Dookie
stimmt, is eine "quick and dirty" Lösung
hier die "slow and clean" Version:
Code: Alles auswählen
def oneline(fname, n):
f = file(fname,"r")
for i in xrange(n-1):
f.next()
result = f.next()
f.close()
return result
Zeile2 = oneline(username+".txt", 2)
Dookie