如何用空格填充Python字符串?

2024-04-25 17:55:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用空格填一个字符串。我知道以下是零的工作原理:

>>> print  "'%06d'"%4
'000004'

但是当我想要这个的时候我该怎么办?以下内容:

'hi    '

当然,我可以测量字符串长度并做str+" "*leftover,但我想要最短的方法。


Tags: 方法字符串hi原理空格printstrleftover
3条回答

您可以使用^{}来完成此操作:

Return the string left justified in a string of length width. Padding is done using the specified fillchar (default is a space). The original string is returned if width is less than len(s).

>>> 'hi'.ljust(10)
'hi        '

对于即使格式化复杂字符串也能工作的灵活方法,您可能应该使用string-formatting mini-language,使用str.format()方法

>>> '{0: <16} StackOverflow!'.format('Hi')  # Python >=2.6
'Hi               StackOverflow!'

f-strings

>>> f'{"Hi": <16} StackOverflow!'  # Python >= 3.6
'Hi               StackOverflow!'

新的(ish)string format method允许您使用嵌套的关键字参数做一些有趣的事情。最简单的情况:

>>> '{message: <16}'.format(message='Hi')
'Hi             '

如果要将16作为变量传入:

>>> '{message: <{width}}'.format(message='Hi', width=16)
'Hi              '

如果要传入whole kit and kaboodle的变量:

'{message:{fill}{align}{width}}'.format(
   message='Hi',
   fill=' ',
   align='<',
   width=16,
)

结果是(你猜对了):

'Hi              '

相关问题 更多 >