2015-03-06 3 views
43

Когда я пытаюсь следовать Python Wiki's example, связанные с кодированием URL:«модуль» не имеет атрибута «UrlEncode»

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

Что я отсутствует?

+4

"2" в вашей URL. –

+0

Спасибо, не заметил, что он изменил – Croll

ответ

3

Вы можете использовать документацию Python 2, но написать программу в Python 3.

+0

Вау - спасибо, это поисковая система. – Croll

+0

Ну, это тег в вашей проблеме, и ссылка указывает на документы Python 2. –

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

Если urllib.parse.urlencode() не работает для вас в Python3, попробуйте следующее.

import urllib3 
urllib3.request.urlencode() 

urllib3 является новым модулем в Python3 по сравнению с URLLIB

+0

Это довольно ужасный ответ, учитывая, что большинство людей, вероятно, пробовали это, прежде чем приходить сюда, и это не решает. Вы просто выбрасываете недоказанное обоснованное предположение – amchugh89

Смежные вопросы