我在python中使用dict试图用字典中的任何内容替换字符串中的单词.但是,当我尝试运行我的代码时,它会在格式说明符后输出错误"ValueError:expected':'." 我不知道这个错误可能来自哪里.有更多pythonic智慧的人对我有什么建议吗?谢谢!
这是我的代码示例:
str = """{fruit}"""
dict = {"fruit":"pears"}
str.replace(**dict)
Run Code Online (Sandbox Code Playgroud)
这应该使str包含"梨".
UPDATE
我有意使用三重引用的字符串 - 在我的代码中我试图用多行字符串替换,而且,我的代码已经在使用.format方法了.我只是决定在我的代码之间将它翻译到这里时混合使用.这是我的示例代码的更新版本,无法正常工作.
my_dict = """{fruit}"""
dict = {"fruit":"pears"}
string.format(**my_dict)
Run Code Online (Sandbox Code Playgroud)
最终更新
感谢下面收到的所有答案.我没有很好地解释我的问题,并决定简化它,简化了我的问题.我正在做一些元编程,所以我试图在C函数定义中替换,而python试图使用"{"作为格式标识符.我需要使用"{{"来让python将括号识别为char而不是某些开头的格式标识符.
您想要使用该format()函数而不是replace():
string = "{fruit}"
my_dict = {"fruit": "pears"}
print(string.format(**my_dict))
Run Code Online (Sandbox Code Playgroud)
产量
pears
Run Code Online (Sandbox Code Playgroud)
还有其他一些事情:你不应该使用Python关键字str和dict变量名.为清楚起见,我更改了变量名称.
此外,您使用带有三引号的多行字符串没有特别的原因,所以我也改变了.