Это перенос из разметки форматирования C:
print "%*s, blah" % (max_title_width,column)
Если вы хотите выровнять по левому краю текст (для записей короче max_title_width
), поставьте '-' перед '*'.
>>> text = "abcdef"
>>> print "<%*s>" % (len(text)+2,text)
< abcdef>
>>> print "<%-*s>" % (len(text)+2,text)
<abcdef >
>>>
Если поле len короче текстовой строки, строка просто переполняется:
>>> print "<%*s>" % (len(text)-2,text)
<abcdef>
Если вы хотите вырезать на максимальной длине, используйте «.» поле точности заполнителя формата:
>>> print "<%.*s>" % (len(text)-2,text)
<abcd>
Соберите их все вместе таким образом:
%
- 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)