Seite 1 von 1

rstrip Funktioniert nicht

Verfasst: Freitag 1. April 2011, 16:14
von Sven1987h
Hallo Leute

Ich habe eine txt datei erstellt in der ich 3 Zeilen habe in jeder zeile steht ein name
jeder Name soll in einer eigenen Variabel stehen das mache ich so

Code: Alles auswählen

daten = open("daten2.txt", "r")
i = 0
for data in daten.xreadlines():
    i = i + 1
    if i == 1:
        user = data
        user.strip("\n")
        print user
    if i==2:
        passwort = data
    if i==3:
        pfad = data
Aber die ausgabe ist trozdem noch mit absatz warum?

Re: rstrip Funktioniert nicht

Verfasst: Freitag 1. April 2011, 16:22
von Darii
Weil strip einen neuen String zurückgibt. user selbst bleibt unverändert. Du musst also den neuen String user zuweisen.

Strings sind in Python übrigens grundsätzlich unveränderlich.

Re: rstrip Funktioniert nicht

Verfasst: Freitag 1. April 2011, 16:29
von /me
Sven1987h hat geschrieben:Aber die ausgabe ist trozdem noch mit absatz warum?
Zeichenketten sind unveränderlich. Du musst den Rückgabewert von strip() zuweisen. Zudem kann natürlich auch noch ein '\r' dazwischenfunken. Vermutlich kannst du strip() ohnehin ohne explizit definierten Parameter verwenden.

Code: Alles auswählen

with open("daten2.txt", "r") as fp:
    for i, data in enumerate(fp, start=1):
        if i == 1:
            user = data.strip('\n')
            print user
        if i == 2:
            passwort = data
        if i == 3:
            pfad = data

Re: rstrip Funktioniert nicht

Verfasst: Freitag 1. April 2011, 21:54
von snafu
`file.xreadlines()` ist übrigens seit Jahren deprecated und in Python 3.x nicht mehr vorhanden.