Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用.format()格式化字符串化词典的字符串_Python_Python 2.7 - Fatal编程技术网

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")