Search code examples
pythonpython-3.ximporturllib

Python: Importing urllib.quote


I would like to use urllib.quote(). But python (python3) is not finding the module. Suppose, I have this line of code:

print(urllib.quote("châteu", safe=''))

How do I import urllib.quote?

import urllib or import urllib.quote both give

AttributeError: 'module' object has no attribute 'quote'

What confuses me is that urllib.request is accessible via import urllib.request


Solution

  • In Python 3.x, you need to import urllib.parse.quote:

    >>> import urllib.parse
    >>> urllib.parse.quote("châteu", safe='')
    'ch%C3%A2teu'
    

    According to Python 2.x urllib module documentation:

    NOTE

    The urllib module has been split into parts and renamed in Python 3 to urllib.request, urllib.parse, and urllib.error.