假设我有:
action = '{bond}, {james} {bond}'.format(bond='bond', james='james')
这将输出:
'bond, james bond'
接下来我们有:
action = '{bond}, {james} {bond}'.format(bond='bond')
这将输出:
KeyError: 'james'
是否有一些解决方法可以防止发生此错误,例如:
- if keyrror: ignore,别管它(但要解析其他的)
- 将格式字符串与可用的命名参数进行比较,如果缺少则添加
原文由 nelsonvarela 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果您使用的是 Python 3.2+,则可以使用 str.format_map() 。
对于
bond, bond
:结果:
对于
bond, {james} bond
:结果:
在 Python 2.6⁄2.7 中
对于
bond, bond
:结果:
对于
bond, {james} bond
:结果: