Seite 1 von 1
\n am ende entfernen
Verfasst: Montag 4. April 2005, 18:06
von Arminius
hallo, ich habe in einer LIste die verschiedenen Zeilen einer Textdatei gespeichert. nun hängt am ende aber immer ein \n. Kann mir jemand sagen wie ich das entfernen kann?
Verfasst: Montag 4. April 2005, 18:42
von marco_
Das \n ist eigentlich zur formatierung da, es ist das Zeichen für einen Zeilenumbruch, also ein Enter.
Verfasst: Montag 4. April 2005, 19:09
von Leonidas
Wie wär's mit
wobei st dein String ist.
Verfasst: Montag 4. April 2005, 19:28
von mawe
Hi!
strip() entfernt standardmässig das \n
Code: Alles auswählen
>>> x = ["zeilen\n","umbruch\n"]
>>> for i in x: print i
...
zeilen
umbruch
>>> for i in x: print i.strip()
...
zeilen
umbruch
Gruß, mawe
Verfasst: Montag 4. April 2005, 21:26
von joe
mawe hat geschrieben:Hi!
strip() entfernt standardmässig das \n
Aber leider nicht nur \n.
Code: Alles auswählen
>>> zeilen = ["for i in range(5):\n"," print i\n"," print i*i\n"]
>>> for z in zeilen: print z
...
for i in range(5):
print i
print i*i
>>> for z in zeilen: print z.strip()
...
for i in range(5):
print i
print i*i
Deswegen besser defensiv programmieren und z.rstrip() oder gar z.rstrip("\n") verwenden.
joe
Verfasst: Montag 4. April 2005, 21:43
von mawe
Hi joe!
Hast recht, danke für den Hinweis.
Gruß, mawe
Verfasst: Dienstag 5. April 2005, 10:00
von Arminius
super, danke

Verfasst: Dienstag 5. April 2005, 15:40
von Arminius
Eine Frage nochmal: Ich hab es jetzt folgendermaßen:
Bei den eingelesenen Zeilen handelt es sich manchmal nur um zahlen, und manchmal um nur enter. Ich mochte, die zahlen aber sortieren, das heist ich brauch sie als integer. ich kann sie aber nicht umwandeln wenn am ende das \n hängt. was mach ich falsch??????
Verfasst: Dienstag 5. April 2005, 15:47
von mawe
Hi!
Das geht nicht?
Gruß, mawe
Verfasst: Dienstag 5. April 2005, 15:53
von CM
Hi,
ws Du falsch machst - und der mawe hat ja auch schon die Lösung verraten - ist, daß Du eine Funktion auf x anwendest, das Ergebnis aber nicht gespeichert hast. mawe hat Zuweisung des Ergebnis gleich mit in diese kurze Zeile gepackt. Na?
Gruß,
Christian