2017-10-05 47 views
1

我需要字典項編碼這樣Python- urllib.urlencode:解析字典項放入字符串

data = OrderedDict([('mID', ['54a309ae1c61be23aba0da54', '54a309ae1c61be23aba0da63'])]) 

成格式化這樣

mID=[54a309ae1c61be23aba0da54,54a309ae1c61be23aba0da63] 

當我使用url_values = urllib.urlencode(data) 我得到mID=%5B%2754a309ae1c61be23aba0da54%27%2C+%2754a309ae1c61be23aba0da63%27%5D一個字符串

我該怎麼辦?

+0

對於括號內的部分,請參閱'str.join()',對於整個'str.format()'。 –

回答

1

可能:

"{}=[{}]".format("mID",",".join(data["mID"])) 
+0

這個工程,但你可以進一步解釋 –

+0

請閱讀關於sting格式和加入python @A_Matar –

1

隨着urllib.parse模塊用於Python 3.x版:

import collections 
from urllib import parse 

data = collections.OrderedDict([('mID', ['54a309ae1c61be23aba0da54', '54a309ae1c61be23aba0da63'])]) 
urlenc_str = parse.unquote_plus(parse.urlencode(data)) 
urlenc_str = urlenc_str.replace("'", '').replace(' ', '') 

print(urlenc_str) 

輸出:

mID=[54a309ae1c61be23aba0da54,54a309ae1c61be23aba0da63] 

檢查類型:

print(type(urlenc_str)) # <class 'str'> 
+0

我使用python2,當試圖導入解析它給了我'ImportError:無法導入名稱解析' –

+0

@A_Matar,我'恐怕它是爲Python 3.x – RomanPerekhrest