„moduł” nie ma atrybutu „urlencode”


108

Kiedy próbuję podążać za przykładem Python Wiki związanym z kodowaniem adresów 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()

W drugiej linii pojawia się błąd:

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

czego mi brakuje?


4
„2” w adresie URL.
Ignacio Vazquez-Abrams

Odpowiedzi:



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

3

Używasz dokumentacji Python 2, ale piszesz swój program w Pythonie 3.


Cóż, jest to tag w twoim problemie, a link wskazuje na dokumentację Pythona 2.
Malik Brahimi,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.