web-dev-qa-db-ja.com

「モジュール」には属性「urlencode」がありません

Python Wikiの例 URLエンコードに関連するものをたどろうとすると:

>>> 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()

2行目にエラーが発生します。

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

私は何が欠けていますか?

82
Croll

urllibはPython 3に分割されました。urllib.urlencode()関数は urllib.parse.urlencode() になり、urllib.urlopen()関数は urllib.request.urlopen() になりました。

187
Kevin
import urllib.parse
urllib.parse.urlencode({'spam': 1, 'eggs': 2, 'bacon': 0})
21
Vijay P R

Python 2ドキュメントを使用しますが、プログラムをPython 3で記述します。

3
User