x = " \{ Hello \} {0} "
print x.format(42)
给我: Key Error: Hello\\
我想打印输出: {Hello} 42
你通过加倍括号来逃避它。
例如:
x = "{{ Hello }} {0}"
print x.format(42)
OP 写了这样的评论:
I was trying to format a small JSON for some purposes, like this: '{"all": false, "selected": "{}"}'.format(data) to get something like {"all": false, "selected": "1,2"}
在处理 JSON 时出现 “逃避大括号” 问题是很常见的。
我建议这样做:
import json
data = "1,2"
mydict = {"all": "false", "selected": data}
json.dumps(mydict)
它比替代品更清洁,它是:
'{{"all": false, "selected": "{}"}}'.format(data)
当 JSON 字符串比示例更复杂时,使用json
库绝对是首选。