是否可以使用Python的str.format(key=value)语法仅替换某些键。
str.format(key=value)
考虑以下示例:
my_string = 'Hello {name}, my name is {my_name}!' my_string = my_string.format(name='minerz029')
哪个返回
KeyError: 'my_name'
有没有办法做到这一点?
我使用了一个更简单的解决方法:
my_string = 'Hello {name}, my name is {my_name}!' to_replace = { "search_for" : "replace_with", "name" : "minerz029", } for search_str in to_replace: my_string = my_string.replace('{' + search_str + '}', to_replace[search_str]) print(my_string)
可以使用to_replacedict中的更多键轻松扩展此功能,即使搜索字符串不存在也不会抱怨。可能会进行改进以提供更多.format()的功能,但这对我来说已经足够了。
to_replace
.format()