KeyError构建包含':'的参数化字符串

时间:2018-10-23 13:08:02

标签: python

比方说,我需要基于此模式构建一系列字符串:

pattern="{app: }"

最终目的是生成以下序列:

  

“ {app:MS Office}”

     

“ {app:记事本}”   等

我正在尝试使用format方法来做到这一点,

insert="MS Office"
result=pattern.format(insert)

但是,我回来的只是

  

KeyError:“应用”

看起来错误似乎是由于Python错误地解释了模式中的冒号引起的,但是我该如何解决呢?我需要冒号。

谢谢。

2 个答案:

答案 0 :(得分:1)

您需要使用大括号:

In [1]: pattern = '{{app: {}}}'

In [2]: pattern.format('MS Office')
Out[2]: '{app: MS Office}'

答案 1 :(得分:1)

使用

pattern="{{app: {0} }}"

insert="MS Office"
result=pattern.format(insert)
print(result)

输出:

{app: MS Office }