需要深入了解如何使用safe_substitution函数中的字典值。 假设我有2个字典
import string
dict1={"a":" $b text1" ,"b":"$c text2"}
dict2={"c": "$d text3", "d" : "text4"}
finnal_text = string.template("$a").safe_substitute(dict1)
finnal_text = string.template(" $ a")。safe_substitute(dict1,dict2)
如果我尝试使用两个dict变量,它会出错...有没有办法在单个safe_substitute func中使用2个dict值。
答案 0 :(得分:1)
dict3 = dict(dict1)
dict3.update(dict2)
finnal_text = string.template("$a").safe_substitute(dict3)
但是如果两个dicts具有相同的密钥,则将使用来自dict2的密钥或
finnal_text = string.template("$a").safe_substitute( dict(dict1.items()+dict2.items()) )
你可以将它抽象为函数
def dict_merge(*dicts):
return dict(item for d in dicts for item in d.items())
finnal_text = string.template("$a").safe_substitute( dict_merge(dict1,dict2) )