我想用空格填充字符串。我知道下面的方法适用于0:
>>> print "'%06d'"%4
'000004'
但我想要这个的时候该怎么办呢?:
'hi '
当然,我可以测量字符串长度和做str+" "*剩,但我想要最短的方式。
我想用空格填充字符串。我知道下面的方法适用于0:
>>> print "'%06d'"%4
'000004'
但我想要这个的时候该怎么办呢?:
'hi '
当然,我可以测量字符串长度和做str+" "*剩,但我想要最短的方式。
当前回答
你也可以居中你的字符串:
'{0: ^20}'.format('nice')
其他回答
你可以试试这个:
print "'%-100s'" % 'hi'
使用Python 2.7的字符串迷你格式:
'{0: <8}'.format('123')
这是左对齐,用' '字符填充到8个字符。
只要去掉0,它就会添加空格:
>>> print "'%6d'"%4
从Python 3.6开始,你可以这样做
>>> strng = 'hi'
>>> f'{strng: <10}'
字面值字符串插值。
或者,如果你的填充大小是一个变量,就像这样(谢谢@Matt M.!):
>>> to_pad = 10
>>> f'{strng: <{to_pad}}'
使用切片不是更python化吗?
例如,用空格填充一个字符串,直到它有10个字符长:
>>> x = "string"
>>> (x + " " * 10)[:10]
'string '
在左边填充空格,直到它有15个字符长:
>>> (" " * 15 + x)[-15:]
' string'
当然,它需要知道你想要填充的长度,但它不需要测量你开始时的字符串长度。