Seite 1 von 1

String so ausgeben, wie er ist (z.B. "\n")

Verfasst: Freitag 13. Februar 2009, 16:39
von Lebostein
Hallo,

ich möchte, dass Python einen string so ausgibt, wie er im Quelltext steht, ohne dass die Steuerbefehle über den Backslash (zum Beispiel Zeilenumbruch \n) beachtet werden. Geht das irgendwie? Da ich Latex-Quellcode einlese und auslese, werden mir viele Befehle, die mit einem "\" beginnen, einfach zerstört, da python irgendwelche Zeilenumbrüche und Tabs einbaut....

Verfasst: Freitag 13. Februar 2009, 16:46
von EyDu
Benutzt du "eval" oder "exec"? Wenn du eine Datei liest, dann werden alle Zeichen als normale Zeichen gelesen. Steht in der Textdatei "\n" dann wird daraus als Python-String ein "\\n". Vielleicht solltest du mal etwas Code zeigen.

Verfasst: Freitag 13. Februar 2009, 16:49
von Darii
Da wäre jetzt dein Quellcode hilfreicht. Wenn du irgendwelchen Text aus Dateien in Python einliest und wieder ausgibst wird dieser bis evtl auf Zeilenumbrüche nicht verändert(und dagegen hilft es wenn man die Datei im Binärmodus öffnet).

Anders sieht es aus, wenn du in deinem Python-Quell irgendwelche Strings definieren möchstest. Dafür gibt es dann die sog. raw strings.

Code: Alles auswählen

>>> print "Hallo\ndu"
Hallo
du
>>> print r"Hallo\ndu" # raw string
Hallo\ndu

Verfasst: Freitag 13. Februar 2009, 16:54
von Leonidas
Suchst du eventuell ``repr()``?