我想用空格填充字符串。我知道下面的方法适用于0:
>>> print "'%06d'"%4
'000004'
但我想要这个的时候该怎么办呢?:
'hi '
当然,我可以测量字符串长度和做str+" "*剩,但我想要最短的方式。
我想用空格填充字符串。我知道下面的方法适用于0:
>>> print "'%06d'"%4
'000004'
但我想要这个的时候该怎么办呢?:
'hi '
当然,我可以测量字符串长度和做str+" "*剩,但我想要最短的方式。
当前回答
从Python 3.6开始,你可以这样做
>>> strng = 'hi'
>>> f'{strng: <10}'
字面值字符串插值。
或者,如果你的填充大小是一个变量,就像这样(谢谢@Matt M.!):
>>> to_pad = 10
>>> f'{strng: <{to_pad}}'
其他回答
只要去掉0,它就会添加空格:
>>> print "'%6d'"%4
一个很好的技巧来代替各种打印格式:
(1)右边空格垫:
('hi' + ' ')[:8]
(2)左侧前导0的垫:
('0000' + str(2))[-4:]
Python中不推荐使用这种方法,但这种逻辑对于缺乏高质量文本格式化功能的语言和宏非常有用。:)
使用Python 2.7的字符串迷你格式:
'{0: <8}'.format('123')
这是左对齐,用' '字符填充到8个字符。
你可以试试这个:
print "'%-100s'" % 'hi'
你也可以居中你的字符串:
'{0: ^20}'.format('nice')