Seite 1 von 1

In zeile x springen

Verfasst: Donnerstag 8. Juli 2004, 18:17
von schnefels
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

Verfasst: Donnerstag 8. Juli 2004, 18:25
von Dookie
Hi schnefels,

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

Verfasst: Donnerstag 8. Juli 2004, 18:32
von schnefels
zeile2= f[1]
TypeError: unsubscriptable object



kommt leider als fehlermeldung :?

Verfasst: Donnerstag 8. Juli 2004, 18:37
von Dookie
uups :oops:

Code: Alles auswählen

f = file(f = file(username+".txt","r")
Zeile2 = list(f)[1] # Zeile1 = list(f)[0]
f.close()
so gehts aber

Dookie

Verfasst: Donnerstag 8. Juli 2004, 18:57
von schnefels
hey cool, danke funktioniert :D

Grüßle aus Franken

Verfasst: Donnerstag 8. Juli 2004, 19:19
von Milan
Dookie hat geschrieben:uups :oops:

Code: Alles auswählen

f = file(f = file(username+".txt","r")
Zeile2 = list(f)[1] # Zeile1 = list(f)[0]
f.close()
so gehts aber

Dookie
:shock: :roll: 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... :wink:

Verfasst: Donnerstag 8. Juli 2004, 20:03
von Dookie
Hi Milan,

stimmt, is eine "quick and dirty" Lösung :wink:

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)
Gruß

Dookie