我正在编写用空格填充字符串的代码,使用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!
有没有办法使用格式规范迷你语言执行截断和填充?
谢谢!
答案 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'