python 格式化字符串中的字典

python dict in formatted string

我想在字符串中写一个 python 字典。项目的值应由格式化字符串给出。

我希望下面的方法能起作用,但它并没有起作用,因为用于定义字典的第一个“{”被解释为格式化字段

In: "{'key_1': '{value}'}".format(**{'value': 'test'})

以下工作正常,但 return 不是预期的字典:

In: "'key_1': '{value}'".format(**{'value': 'test'})
Out: "'key_1': 'test'"

解决该问题的一种方法是使用列表括号,稍后用字典括号替换它们:

In: "['key_1': '{value}']".format(**{'value': 'test'}).replace('[', '{').replace(']', '}')
Out: "{'key_1': 'test'}"

如何写得更好?

使用双 {{}}:

 "{{'key_1': '{value}'}}".format(**{'value': 'test'})