Python 使用.format()格式化字符串化词典的字符串
给我的是错误:Python 使用.format()格式化字符串化词典的字符串,python,python-2.7,Python,Python 2.7,给我的是错误: value = '{"a" : 0, "b": 6, "c" : {REPLACE}}' replace = {'REPLACE' : "Replace String"} value.format(**replace) value.format(replace) 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 KeyError:“'a”” 不幸的是,{大括号是格式语言的一部分,要对其进行转义,需要将其加倍,因此: Traceback (most recent cal
value = '{"a" : 0, "b": 6, "c" : {REPLACE}}'
replace = {'REPLACE' : "Replace String"}
value.format(**replace)
value.format(replace)
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
KeyError:“'a””
不幸的是,{
大括号是格式语言的一部分,要对其进行转义,需要将其加倍,因此:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: '"a"'
您必须使用另一个
{}
来转义{}
。以下是一个示例:
In []:
value = '{{"a" : 0, "b": 6, "c" : {REPLACE}}}'
replace = {'REPLACE' : "Replace String"}
value.format(**replace)
Out[]:
'{"a" : 0, "b": 6, "c" : Replace String}'
请参阅详细说明。在本例中,如果我转义它,它会起作用,如果我试图替换HTML/JS文件中的一组字符串,该如何操作?为什么不直接使用
str.replace()
-value.replace('replace','replace String'))
?我的用例更具限制性-我试图概括一个函数,该函数将使用动态生成的key:values替换不同文件中的不同“string”集。您可能想问一个关于您试图做什么的特定问题。
'{{"a" : 0, "b": 6, "c" : "{}"}}'.format("Replace String")