Python 格式字符串 "}" 填充

5 投票
1 回答
4087 浏览
提问于 2025-04-15 17:16

Python 2.6 引入了 str.format(…) 这个方法,从 Python 3.0 开始,这种方法比以前的 % 字符串格式化方式更受欢迎。不过,当我们查看这个 "迷你语言" 时,会发现似乎无法把 } 这个字符用作填充字符。

这让我觉得有点奇怪。有没有办法让这个字符逃脱(也就是不被当作结束符号)并用作填充字符呢?

我知道我可以用一些字符串中特有的字符来填充,然后再用 str.replace 或其他类似的方法来实现同样的效果,但我觉得这样做有点像是变通的办法……

编辑:我想要的效果类似于

>>> "The word is {0:}<10}".format("spam")
'The word is spam}}}}}}'

1 个回答

8

你可以把它作为一个单独的参数来指定,像这样:

>>> "The word is {0:{1}<10}".format("spam", "}")
'The word is spam}}}}}}'

你看,它被传入了,并且在{1}的位置上使用。

撰写回答