‘módulo’ no tiene atributo ‘urlencode’

1 minuto de lectura

avatar de usuario
crol

Cuando trato de seguir el Ejemplo de Python Wiki relacionados con la codificación de URL:

>>> 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()

Se genera un error en la segunda línea:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'urlencode'

¿Qué me estoy perdiendo?

  • El “2” en tu URL.

    – Ignacio Vázquez-Abrams

    06/03/2015 a las 20:17

avatar de usuario
Kevin

urllib se ha dividido en Python 3.

los urllib.urlencode() la funcion es ahora urllib.parse.urlencode(),

la urllib.urlopen() la funcion es ahora urllib.request.urlopen().

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

Utiliza los documentos de Python 2 pero escribe su programa en Python 3.

  • Bueno, es una etiqueta en su problema y el enlace apunta a los documentos de Python 2.

    -Malik Brahimi

    06/03/2015 a las 20:21

¿Ha sido útil esta solución?