Seite 1 von 1

TAB laenge in print-ausgabe festlegen?

Verfasst: Dienstag 7. Oktober 2008, 16:28
von mchris
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

Re: TAB laenge in print-ausgabe festlegen?

Verfasst: Dienstag 7. Oktober 2008, 16:33
von name
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

Re: TAB laenge in print-ausgabe festlegen?

Verfasst: Dienstag 7. Oktober 2008, 17:26
von 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.

Verfasst: Dienstag 7. Oktober 2008, 23:33
von 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.

Verfasst: Mittwoch 8. Oktober 2008, 09:55
von Y0Gi
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.