Ошибка python 3.2: urllib.parse.urlencode() не определен
Я пытаюсь использовать метод urllib.parse.urlencode() в одном из моих скриптов.
import urllib
#!/usr/bin/python3.2
import urllib
data = urllib.parse.urlencode({'type': 'device_code','client_id': 150792241632891})
Он работал раньше, но теперь я получаю следующую ошибку.
Выход
Traceback (most recent call last):
File "/home/rakesh/programming/test.py", line 8, in <module>
data = urllib.parse.urlencode({'type': 'device_code','client_id': 150792241632891})
AttributeError: 'module' object has no attribute 'parse'
Вначале я сомневаюсь в своей оболочке python, но когда я проверил, он использует версию 3.2 python, которая должна быть конфиденциальной.
Теперь я совершенно озадачен, почему оболочка python ведет себя таким образом.
Я что-то пропустил?
Спасибо
Ответы
Ответ 1
Вы не показываете импорт в своей программе, поэтому я не могу быть уверен, но я уверен, вы сделали
import urllib
который не будет импортировать и реэкспортировать отдельный модуль urllib.parse
. У
import urllib.parse
вместо.
(import urllib
является довольно бессмысленным в Python 3.x, поскольку все функции находятся в подмодулях, и они не импортируются модулем верхнего уровня.)