我收到以下错误,我该如何解决?
KeyError:' a' 流程已完成退出代码1
s = """
a b c {a}
""".format({'a':'123'})
print s
答案 0 :(得分:6)
您需要按名称s = """
a b c {a}
""".format_map({'a':'123'})
传递参数或使用需要字典的format_map
:
await
答案 1 :(得分:3)
命名格式变量必须按名称传递:
>>> s = """
... a b c {a}
... """.format(a=123)
>>> print(s)
a b c 123
如果您提供数据字典,则可以解压缩"名字:
>>> d = {'a': 123}
>>> s = """
... a b c {a}
... """.format(**d)
>>> print(s)
a b c 123
答案 2 :(得分:1)
您正在使用format
方法错误地使用字符串。当您想要在字符串中替换名称时,format
要求您传入关键字参数。
在您的案例中使用该方法的正确形式如下:
s = """
a b c {a}
""".format(a='123')
print s
但是,如果您确实希望传入字典,则可以通过在字典本身之前添加**
来将其解压缩为关键字参数。这会将字典解压缩到a='123'
的关键字参数,就像上面的代码一样。
请阅读有关Python字符串和字符串格式方法here的更多信息。