使用格式规范迷你语言截断和填充

时间:2013-01-13 11:02:06

标签: python string-formatting

我正在编写用空格填充字符串的代码,使用Python的format specification mini language

print('''{user:<10}, you're welcome!'''.format(user='John Doe'))

输出结果为:

John Doe  , you're welcome!

但是,如果用户的名字是'Joooooooooooohn Doe',我想输出:

Jooooooooo, you're welcome!

有没有办法使用格式规范迷你语言执行截断和填充?

谢谢!

1 个答案:

答案 0 :(得分:11)

从您关联的页面:

  

对于非数字类型[precision]   表示最大字段大小 - 换句话说,字符数   将从现场内容中使用。不允许精度   整数值。

精度由句点

引入
  

format_spec ::= [[fill]align][sign][#][0][width][,][.precision][type]

所以正确的格式字符串是{user:<10.10}

>>> '{0:<10.10}'.format('1234567')
'1234567   '

>>> '{0:<10.10}'.format('123456789034')
'1234567890'