用python字符串格式方法

时间:2017-05-02 22:12:34

标签: python string python-3.x

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

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

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

我该如何解决这个问题?

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

1 个答案:

答案 0 :(得分:6)

您不需要覆盖某些内容,您可以通过将它们加倍来转义大括号,如the documentation中所述格式字符串语法:

  

如果您需要在文字文本中包含大括号字符,则可以通过加倍来转义它:{{}}

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

如果您计划在某些时候使用它们,这同样适用于格式化的字符串文字:

>>> f'{{"k": "{my_value}"}}'
'{"k": "v"}'