'module' n'a pas d'attribut 'urlencode'


108

Quand j'essaye de suivre l' exemple du Python Wiki lié au codage d'URL:

>>> import urllib
>>> params = urllib.urlencode({'spam': 1, 'eggs': 2, 'bacon': 0})
>>> f = urllib.urlopen("http://www.musi-cal.com/cgi-bin/query", params)
>>> print f.read()

Une erreur est générée sur la deuxième ligne:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'urlencode'

Qu'est-ce que je rate?


4
Le "2" dans votre URL.
— Ignacio Vazquez-Abrams

Réponses:



35
import urllib.parse
urllib.parse.urlencode({'spam': 1, 'eggs': 2, 'bacon': 0})

3

Vous utilisez la documentation Python 2 mais écrivez votre programme en Python 3.


Eh bien, c'est une balise dans votre problème et le lien pointe vers la documentation Python 2.
— Malik Brahimi
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.