'módulo' não tem atributo 'urlencode'


108

Quando tento seguir o exemplo do Wiki Python relacionado à codificação de 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()

Um erro é gerado na segunda linha:

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

o que estou perdendo?


4
O "2" no seu URL.
Ignacio Vazquez-Abrams

Respostas:



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

3

Você usa a documentação do Python 2, mas escreve seu programa em Python 3.


Bem, é uma tag no seu problema e o link aponta para a documentação do Python 2.
Malik Brahimi
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.