您好我需要进行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"'
不知怎的,它正在尝试评估字符串中的字典,这完全超出我的知识为什么它这样做。
任何人都可以帮我解决这个问题吗?
答案 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:
如果需要在文字文本中包含大括号字符,则可以 通过加倍来逃避:{{和}}。