Python:Triple Double Quote字符串格式

时间:2017-08-31 19:13:24

标签: python python-3.x

我收到以下错误,我该如何解决?

KeyError:' a' 流程已完成退出代码1

s = """
a b c {a}
""".format({'a':'123'})

print s

3 个答案:

答案 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的更多信息。