Python字符串替换SubString(评估子字符串字典)

时间:2014-03-31 18:17:56

标签: python string string-formatting

您好我需要进行API调用来收集一些数据。 URL如下所示:

https://app.example.com/SearchService/search/xref?parts=[{"partNumber":"myproduct","manufacturer":"my company"}]&fmt=json

我尝试用不同产品列表替换partnumber值,我正在考虑使用子字符串替换。

>>> print "My name is {0}".format('/usr/bin')
My name is /usr/bin

然而,当我尝试对网址执行此操作时:

>>> print 'https://app.example.com/SearchService/search/xref?parts=[{"partNumber":"{0}","manufacturer":"my company"}]&fmt=json'.format('my product')
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
KeyError: '"partNumber"'

不知怎的,它正在尝试评估字符串中的字典,这完全超出我的知识为什么它这样做。

任何人都可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

您需要使用{}转义其他{{}}

>>> print 'https://app.example.com/SearchService/search/xref?parts=[{{"partNumber":"{0}","manufacturer":"my company"}}]&fmt=json'.format('my product')
https://app.example.com/SearchService/search/xref?parts=[{"partNumber":"my product","manufacturer":"my company"}]&fmt=json

来自docs

  

如果需要在文字文本中包含大括号字符,则可以   通过加倍来逃避:{{和}}。