Python String格式方法的覆盖{}占位符



我正在尝试使用python format方法在字符串中使用我的占位符。

问题是字符串内部包含 {} ,字符串方法无法解决。

my_value='v'
'{"k":"{value}"}'.format(value=my_value)    # This results in error due to outside {}
# Desired Output '{"k":"v"}'

我将如何解决这个问题?

  • 我可以将其转换为JSON然后替换,但是我更喜欢字符串format可以做到

您不需要覆盖某些东西,您只需将卷曲括号加倍即可摆脱卷曲括号,如格式字符串语法的文档中所述:

如果您需要在文字中包含一个撑杆字符,则可以通过加倍来逃脱: {{}}

>>> '{{"k":"{value}"}}'.format(value=my_value)
'{"k":"v"}'

如果您打算在某个时候使用它们:

,这同样适用于格式化的字符串文字。
>>> f'{{"k": "{my_value}"}}'
'{"k": "v"}'

最新更新