2014-03-31 164 views
0

嗨我需要進行API調用來收集一些數據。該URL看起來是這樣的:Python字符串替換子字符串(評估字符串字典)

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

我嘗試用不同的產品名單,以取代部分號碼價值,我想使用字符串替換。

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

你需要逃避{}使用{{}}其他:

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

如果您需要在文字文本中的大括號字符,它可以 加倍:{{和}}。