'module'没有属性'urlencode'

Cro*_*oll 90 python urllib python-3.x

当我尝试遵循与Python编码相关的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()
Run Code Online (Sandbox Code Playgroud)

第二行引发错误:

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

我错过了什么?

Kev*_*vin 205

urllib已经在Python 3中拆分了.该Python 3函数现在已经完成urllib.urlencode(),urllib.parse.urlencode()现在功能已经完成了urllib.urlopen().


Vij*_*P R 27

import urllib.parse
urllib.parse.urlencode({'spam': 1, 'eggs': 2, 'bacon': 0})
Run Code Online (Sandbox Code Playgroud)


Use*_*ser 5

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