2017-10-05 66 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