Questo è un riporto dal markup formattazione C:
print "%*s, blah" % (max_title_width,column)
Se si desidera che il testo allineato a sinistra (per le voci più brevi di max_title_width
), mettere un '-' prima del '*'.
>>> text = "abcdef"
>>> print "<%*s>" % (len(text)+2,text)
< abcdef>
>>> print "<%-*s>" % (len(text)+2,text)
<abcdef >
>>>
Se il campo len è più corta della stringa di testo, la stringa trabocca solo:
>>> print "<%*s>" % (len(text)-2,text)
<abcdef>
Se si vuole ritagliare ad una lunghezza massima, utilizzare il '' campo di precisione del formato segnaposto:
>>> print "<%.*s>" % (len(text)-2,text)
<abcd>
metterli tutti insieme in questo modo:
%
- if left justified
* or integer - min width (if '*', insert variable length in data tuple)
.* or .integer - max width (if '*', insert variable length in data tuple)
In Python 2.4 e versioni successive, le [] non sono necessarie per il calcolo di max_title_width - si limitano a compilare un elenco che si elimina immediatamente dopo aver calcolato il valore massimo. Vedi http://www.python.org/dev/peps/pep-0289/. – PaulMcG