我可以从用户处接收2种类型的字符串
cmd1 = inst1.exe license.dat
cmd2 = {{installer}} {{license}}
我必须用字典中的东西替换大括号之间的字符串({'installer': 'inst1.exe', 'license': 'license.dat'}
)
我正在尝试这样的事情:
def my_replace_method(cmd, dict)
for key, value in dictionary.items():
cmd.replace(key, value)
电话:
my_replace_method(cmd2, dict)
我得到的输出是:"{{inst1.exe}} {{license.dat}}"
,而不是"inst1.exe license.dat"
及
my_replace_method(cmd1, dict)
我得到的输出是"inst1.exe license.dat.dat"
,而不是"inst1.exe license.dat"
这两个命令的预期输出是: inst1.exe license.dat 如何编写一个同时适用于两种输入类型的方法
您应该使用
cmd.replace("{{"+key+"}}", value)
或cmd.replace('{{%s}}'%key, value)
,因为只使用replace
替换文本,而只使用替换您给定的文本。所以如果你想匹配大括号,你需要包括大括号
编辑:
这两个错误的原因如下:
license
替换为license.dat
,而不是将{{licence}}
替换为license.dat
。因此license.dat
变为license.dat.dat
相关问题 更多 >
编程相关推荐