如何在 Python 中设置字符串格式的空格 3

How to set the spaces in a string format in Python 3

如何设置字符串格式以便使用变量来确保长度可以根据需要更改?例如,假设长度一开始是 10,然后输入发生变化,然后长度变为 15。我将如何更新格式字符串?

    length =  0
    for i in self.rows:
        for j in i:
            if len(j) > length:
                length  = len(j)
    print('% length s')

显然上面的语法是错误的,但我不知道如何让它工作。

你可以这样声明:

 print('%20s'%'stuff')

20 将是​​打印字符串中的字符数。多余的空格。

您可以使用 %*s 并传入 length 作为另一个参数:

>>> length = 20
>>> string = "some string"
>>> print("%*s" % (length, string))
         some string

或者使用格式字符串创建格式字符串:

>>> print(("%%%ds" % length) % string)
         some string

使用str.format

>>> length = 20
>>> string = "some string"
>>> print('{1:>{0}}'.format(length, string))
         some string

format 方法允许 nice 关键字参数与位置参数相结合:

>>> s = 'my string'
>>> length = 20
>>> '{:>{length}s}'.format(s, length=length)
'           my string'