'模块'没有属性' urlencode'

时间:2015-03-06 20:13:05

标签: python python-3.x urllib

当我尝试关注与网址编码相关的Python Wiki's example时:

>>> 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'

我错过了什么?

3 个答案:

答案 0 :(得分:175)

urllib已在Python 3中拆分。urllib.urlencode()函数现在为urllib.parse.urlencode()urllib.urlopen()函数现为urllib.request.urlopen()

答案 1 :(得分:20)

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

答案 2 :(得分:3)

您使用Python 2文档,但在Python 3中编写程序。