繁体   English   中英

Python:Triple Double Quote字符串格式

[英]Python: Triple Double Quote String format

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

KeyError:'a'过程以退出代码1结束

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

print s

您需要通过名称.format(a=123)传递参数或使用需要字典的format_map

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

必须按名称传递命名格式变量:

>>> 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

您正在使用format方法错误地使用字符串。 format要求您在要在字符串中替换名称时传入关键字参数。

在您的情况下使用该方法的正确形式如下:

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

print s

但是,如果您确实希望传入字典,则可以通过在字典本身之前添加**来将其解压缩为关键字参数。 这会将字典解压缩到a='123'的关键字参数,就像上面的代码一样。

在此处阅读有关Python字符串和字符串格式方法的更多信息

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM