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

uhe*_*xos 5 python variables string-formatting python-3.5

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

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

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

cri*_*007 7

使用 str.format

>>> length = 20
>>> string = "some string"
>>> print('{1:>{0}}'.format(length, string))
         some string
Run Code Online (Sandbox Code Playgroud)


tob*_*s_k 5

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

>>> length = 20
>>> string = "some string"
>>> print("%*s" % (length, string))
         some string
Run Code Online (Sandbox Code Playgroud)

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

>>> print(("%%%ds" % length) % string)
         some string
Run Code Online (Sandbox Code Playgroud)