根据固定长度填充或截断字符串

Pad or truncate string based on fixed length

目前有类似的代码;

print '{: <5}'.format('test')

如果少于 5 个字符,这将用 ' ' 填充我的字符串。如果字符串超过 5 个字符,我需要截断该字符串。

如果在格式化之前没有明确检查我的字符串的长度,是否有更好的方法在小于固定长度时填充或在大于固定长度时截断?

您可以使用 5.5combine truncating and padding 以便输出的长度始终为五:

'{:5.5}'.format('testsdf')
# 'tests'

'{:5.5}'.format('test')
# 'test '

您可以使用 str.ljust 并分割字符串:

>>> 'testsdf'.ljust(5)[:5]
'tests'
>>> 'test'.ljust(5)[:5]
'test '