'module' 没有属性 'urlencode'

'module' has no attribute 'urlencode'

当我尝试遵循与 URL 编码相关的 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'

我错过了什么?

urllib 已拆分为 Python 3

urllib.urlencode() 函数现在是 urllib.parse.urlencode()

urllib.urlopen() 函数现在是 urllib.request.urlopen()

您使用 Python 2 文档,但在 Python 3.

中编写您的程序
import urllib.parse
urllib.parse.urlencode({'spam': 1, 'eggs': 2, 'bacon': 0})