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

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Lebostein
User
Beiträge: 9
Registriert: Freitag 4. August 2006, 09:03

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....
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

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.
Das Leben ist wie ein Tennisball.
Darii
User
Beiträge: 1177
Registriert: Donnerstag 29. November 2007, 17:02

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
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Suchst du eventuell ``repr()``?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten