Подтвердить что ты не робот

Ошибка 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 ведет себя таким образом. Я что-то пропустил?

Спасибо

4b9b3361

Ответ 1

Вы не показываете импорт в своей программе, поэтому я не могу быть уверен, но я уверен, вы сделали

import urllib

который не будет импортировать и реэкспортировать отдельный модуль urllib.parse. У

import urllib.parse

вместо.

(import urllib является довольно бессмысленным в Python 3.x, поскольку все функции находятся в подмодулях, и они не импортируются модулем верхнего уровня.)