如何在字符串的左右填充空格?

70 投票
2 回答
73632 浏览
提问于 2025-04-17 15:15

我有两个情况需要把一个字符串用空格填充到一定的长度,分别是从左边和右边填充。比如说,我有一个字符串:

TEST

但我需要把这个字符串变量

_____TEST1

变成长度为10个字符(在这个例子中,前面加5个空格)。注意:我用下划线表示空格(因为在StackOverflow上,Markdown显示不太对)。

我还需要弄明白怎么把它反过来,从另一边填充空格:

TEST2_____

有没有什么字符串辅助函数可以做到这一点?还是说我需要创建一个字符数组来处理这个问题?

另外要注意的是,我想保持字符串长度是一个变量(我在上面的例子中用了10这个长度,但我需要能够改变它)。

任何帮助都非常棒。如果有什么python的函数可以处理这个,我宁愿不从头开始写代码。

谢谢!

2 个回答

17

通过 f-字符串(Python 3.6 及以上版本):

>>> l = "left aligned"
>>> print(f"{l:<30}")
left aligned                  

>>> r = "right aligned"
>>> print(f"{r:>30}")
                 right aligned

>>> c = "center aligned"
>>> print(f"{c:^30}")
        center aligned        
142

你可以看看 str.ljuststr.rjust 这两个方法。

另外一个选择可能是使用 format 方法:

>>> '{:<30}'.format('left aligned')
'left aligned                  '
>>> '{:>30}'.format('right aligned')
'                 right aligned'
>>> '{:^30}'.format('centered')
'           centered           '
>>> '{:*^30}'.format('centered')  # use '*' as a fill char
'***********centered***********'

撰写回答