'модуль' не имеет атрибута 'urlencode'

109

Когда я пытаюсь следовать примеру Python Wiki, связанному с кодировкой 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()

Во второй строке возникает ошибка:

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

Что мне не хватает?

Кролл
источник
4
«2» в вашем URL.
Игнасио Васкес-Абрамс,

Ответы:

36
import urllib.parse
urllib.parse.urlencode({'spam': 1, 'eggs': 2, 'bacon': 0})
Виджей PR
источник
3

Вы используете документацию Python 2, но пишете свою программу на Python 3.

Пользователь
источник
Ну, это тег в вашей проблеме, и ссылка указывает на документы Python 2.
Малик Брахими