0

使用字符串格式化时,结果字符串比预期的要长。

例如:

In [1]: "%s".ljust(7) % "123456"
Out[1]: '123456     '

输出字符串不是 7 个字符长。

我对“在后台”究竟发生了什么导致这种行为感兴趣?

4

2 回答 2

2

"%s"首先被调整到 7 个位置 - 例如"%s ",然后你用'123456'%s 替换 ......因此你得到的结果......

>>> '%s'.ljust(7)
'%s     '
>>> _ % '123456'
'123456     '

你可以使用:

>>> ('%s' % '123456').ljust(7)
'123456

或者在格式字符串中指定适当的宽度...

于 2012-11-30T19:22:58.963 回答
1

应用于您的ljust()格式化字符串,因为它只有两个字符长,所以附加了五个空格。

然后将另一个字符串插入其中。

于 2012-11-30T19:23:14.710 回答