6

我目前正在使用 Python 的格式规范迷你语言编写用空格填充字符串的代码:

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

输出是:

John Doe  , you're welcome!

但是,如果用户的名字类似于'Jooooooooooooohn Doe',我想输出:

Jooooooooo, you're welcome!

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

谢谢!

4

1 回答 1

11

从您链接到的页面:

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

精度是由一个时期引入的

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

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

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

>>> '{0:<10.10}'.format('123456789034')
'1234567890'
于 2013-01-13T11:09:08.450 回答