2017-10-05 5 views
1

I Wörterbuch Artikel wie dieserPython- urllib.urlencode: parsen Wörterbuch Artikel in Zeichenfolge

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

in einen String kodieren müssen wie diese

mID=[54a309ae1c61be23aba0da54,54a309ae1c61be23aba0da63] 

formatiert Wenn ich url_values = urllib.urlencode(data) verwende ich mID=%5B%2754a309ae1c61be23aba0da54%27%2C+%2754a309ae1c61be23aba0da63%27%5D bekommen

Was könnte ich tun?

+0

Für den Teil innerhalb der Klammern, siehe 'str.join()', für die ganze Sache 'str.format()'. –

Antwort

1

können sein:

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

das funktioniert, aber Sie können es weiter erklären –

+0

Bitte lesen Sie über Stich Formatierung und beitreten Python @ A_Matar –

1

Mit urllib.parse Modul für Python v3.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) 

Der Ausgang:

mID=[54a309ae1c61be23aba0da54,54a309ae1c61be23aba0da63] 

Checking Typ:

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

Ich benutze Python2 und beim Versuch, Parsen zu importieren, gibt es mir 'ImportError: kann Name Parse nicht importieren ' –

+0

@A_Matar, ich' Ich fürchte, es ist für Python 3.x – RomanPerekhrest

Verwandte Themen