使用字符串中的{}来格式化字符串 - string.format()

7
考虑一下你有一个看起来像这样的字符串:'This string is {{}}',你希望将它转换成下面这个:'This string is {wonderful}'
如果你执行'This string is {{}}'.format('wonderful'),它是行不通的。最好的方法是什么?
4个回答

10

你只需要再加上一对 {}

'This string is {{{}}}'.format('wonderful')

太棒了,看起来有些荒谬,但它确实有效 :) - Jonathan
@Jonathan 是的,我希望它是\{ - Morgan Thrapp

3

你需要三个大括号:两个用于字面上的 {},中间的一对用于格式化函数。

print('This string is {{{}}}'.format('wonderful'))

我认为它们被撤销是因为你添加了解释。 - vaultah
@vaultah,这种问题的MO就是尽可能快地发布代码,然后稍后再添加解释。忍者编辑...我也这样做了...(还得回答一个验证码)。 - hiro protagonist
欢迎您尽快发布您的答案第一个版本,前提是它已经是一个正确和有用的答案,符合我们的最低标准。 - vaultah
@vaultah 谢谢。有趣的元帖! - hiro protagonist

1

在行内获取大括号 {} 需要使用两个括号进行转义,并使用第三个括号作为占位符:

'This string is {{{}}}'.format('wonderful')

-3

你可以这样做:print "{{f}}".format(f='wonderful')

你也可以这样做:"Hello, {name}!".format(name='John')。这将用John替代所有的{name}


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接