TAB laenge in print-ausgabe festlegen?

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
Benutzeravatar
mchris
User
Beiträge: 6
Registriert: Mittwoch 27. August 2008, 14:38
Kontaktdaten:

hallo,

mit print '\tbla' , erzeuge ich einen tab, der aber 8 leerzeichen oder so entpricht.
wie bekomme ich diesen TAB in der print ausgabe auf z.b. 2 leerzeichen?


danke fuer euere hilfe

chris
Benutzeravatar
name
User
Beiträge: 254
Registriert: Dienstag 5. September 2006, 16:35
Wohnort: Wien
Kontaktdaten:

mchris hat geschrieben:hallo,

mit print '\tbla' , erzeuge ich einen tab, der aber 8 leerzeichen oder so entpricht.
wie bekomme ich diesen TAB in der print ausgabe auf z.b. 2 leerzeichen?


danke fuer euere hilfe

chris
du koenntest natuerlich print foo.replace('\t', ' ' * tab_length) machen
Ohloh | Mein Blog | Jabber: segfaulthunter@swissjabber.eu | asynchia – asynchrone Netzwerkbibliothek

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.
lunar

mchris hat geschrieben:mit print '\tbla' , erzeuge ich einen tab, der aber 8 leerzeichen oder so entpricht.
wie bekomme ich diesen TAB in der print ausgabe auf z.b. 2 leerzeichen?
Anzumerken sei noch, dass es keine andere Lösung als die von name gibt, denn die Länge eines Tabs bestimmt nicht das Programm, sondern das Ausgabemedium.

Deswegen sollte man ja im Quelltext auch Leerzeichen nutzen.
BlackJack

Natürlich gibt es eine andere Lösung und vor allem auch eine *korrekte*. Jedes Tab mit einer festen Anzahl von Leerzeichen zu ersetzen ist falsch, weil es auf die Position des Tabs ankommt, wieviele Leerzeichen bis zum nächsten "Tabstop" einzufügen sind.

Zeichenketten besitzen eine `expandtabs()`-Methode für diesen Zweck.
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Evtl. fährt man auch mit den String-Padding-Methoden oder dem %-Operator ganz gut, wenn man etwas einfach und sauber im Terminal positionieren möchte.
Antworten