When I try to follow the Python Wiki's example related to URL encoding:
>>> 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()
An error is raised on the second line:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'urlencode'
What am I missing?
urllib
has been split up in Python 3. The urllib.urlencode()
function is now urllib.parse.urlencode()
, and the urllib.urlopen()
function is now urllib.request.urlopen()
.
import urllib.parse
urllib.parse.urlencode({'spam': 1, 'eggs': 2, 'bacon': 0})
You use the Python 2 docs but write your program in Python 3.
来源:https://stackoverflow.com/questions/28906859/module-has-no-attribute-urlencode