python 3.2 error saying urllib.parse.urlencode() is not defined

python, python-3.2

Solution

You're not showing the imports in your program, so I can't be sure, but I bet you did

import urllib

which will not import and re-export the separate module `urllib.parse`. Do

import urllib.parse

instead.

(`import urllib` is rather senseless in Python 3.x, since all the functionality is in the submodules and these are not imported by the toplevel module.)

Problem

I am trying to use urllib.parse.urlencode() method in one of my scripts. import urllib ``` #!/usr/bin/python3.2 import urllib data = urllib.parse.urlencode({'type': 'device_code','client_id': 150792241632891}) ``` It was working before but now I get following error. Output ``` 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' ``` Initially I doubt my python shell but when I checked it is using python version 3.2 which should be fiine. Now I am totally perplexed why python shell is behaving this way. Am I missing something here? Thanks

Original source