"""Lange Zeichenketten zerstören die Einrücku

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
arghargh
User
Beiträge: 81
Registriert: Donnerstag 4. September 2008, 22:26

Da in langen Zeichenketten auch whitespace gespeichert wird, muss der Inhalt entsprechend am Zeilenanfang beginnen und kann nicht eingerückt werden.

Gibt es da einen Workaround?

Oder nimmt man lieber eine kurze Zeichenkette und macht die Zeilenumbrüche händisch rein?

Code: Alles auswählen

kurz = "dies\nist\ein\nkurzer\nstring"

lang = """dies
ist
ein
langer
string"""

schlecht = """dies
              ist
              ein
              schlechter
              string"""
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

Such mal im Forum. Das Thema ist innerhalb der letzten 1-2 Wochen in einem Thread ausführlich behandelt worden.
arghargh
User
Beiträge: 81
Registriert: Donnerstag 4. September 2008, 22:26

Habe ich schon, aber du hast bestimmt das passende Stichwort?
alexander
User
Beiträge: 8
Registriert: Donnerstag 21. August 2008, 07:31

Vielleicht hilft dir dieser Link mit einem Workaround mittels textwrap:
[wiki]Multiline-Strings[/wiki]
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

alexander hat geschrieben:Vielleicht hilft dir dieser Link mit einem Workaround mittels textwrap:
[wiki]Multiline-Strings[/wiki]
Genauer gesagt: textwarp.dedent ist das was du brauchst.
arghargh
User
Beiträge: 81
Registriert: Donnerstag 4. September 2008, 22:26

Ah, alles klar. Übrigens geht anscheinend auch:

Code: Alles auswählen

schlecht = "dies\n\
            ist\n\
            schlecht\n"
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

Nein.
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Hier geht's. Vielleicht ist's ein Implementierungsdetail und geht z. B. in Py3k nicht? Egal, in jedem Fall ist es eine schlechte Idee. Ich empfehle runde Klammern und je einen String samt Anführungszeichen pro Zeile.
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

Ah, jetzt hab ichs verstanden... es war gar nicht gemeint, dass die Methode zum Ziel führt.
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/
Antworten