web-dev-qa-db-fra.com

Python Dictionnaire des paramètres d'URL

J'essaie de convertir un dictionnaire Python en une chaîne utilisable comme paramètre d'URL. Je suis certain qu'il existe un meilleur moyen de faire cela Pythonic . Quoi est-ce

x = ""
for key, val in {'a':'A', 'b':'B'}.items():
    x += "%s=%s&" %(key,val)
x = x[:-1]
111
kzh

Utilisez urllib.urlencode() . Il prend un dictionnaire de paires clé-valeur et le convertit en un formulaire adapté à une URL (par exemple, key1=val1&key2=val2).

Si vous utilisez Python3, utilisez urllib.parse.urlencode()

Si vous voulez créer une URL avec des paramètres répétitifs tels que: p=1&p=2&p=3, Vous avez deux options:

>>> import urllib
>>> a = (('p',1),('p',2), ('p', 3))
>>> urllib.urlencode(a)
'p=1&p=2&p=3'

ou si vous voulez créer une URL avec des paramètres répétitifs:

>>> urllib.urlencode({'p': [1, 2, 3]}, doseq=True)
'p=1&p=2&p=3'
225
mipadi

Utilisez la 3ème partie Python bibliothèque de manipulation d’URL furl:

f = furl.furl('')
f.args = {'a':'A', 'b':'B'}
print(f.url) # prints ... '?a=A&b=B'

Si vous souhaitez des paramètres répétitifs, vous pouvez effectuer les opérations suivantes:

f = furl.furl('')
f.args = [('a', 'A'), ('b', 'B'),('b', 'B2')]
print(f.url) # prints ... '?a=A&b=B&b=B2'
1
Mayank Jaiswal