'模块'没有属性'urlencode'

当我尝试按照与URL编码相关的Python Wiki示例进行操作时:

>>> 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.parse.urlencode()函数现在是urllib.parse.urlencode() ,而urllib.urlopen()函数现在是urllib.request.urlopen()

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

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

如果urllib.parse.urlencode()在Python3中不适用于您,请尝试以下操作。

 import urllib3 urllib3.request.urlencode() 

与urllib相比,urllib3是python3中的一个新模块