C'est mon tout premier script Python, donc je suppose que je fais quelque chose de mal. Mais je ne trouve aucun indice dans aucun des didacticiels ou exemples. Le code suivant (pour ainsi dire):

import urllib

urllib.retrieve("http://zlib.net/zlib-1.2.8.tar.gz")

Jette une erreur

AttributeError: l'objet 'module' n'a pas d'attribut 'retrieve'

Comment je le répare? C'est Python 3.3.

7
Violet Giraffe 15 juil. 2015 à 17:01

2 réponses

Meilleure réponse

[La question a été résolue dans les commentaires, donc l'ajoute comme réponse maintenant.]

Le code ci-dessous fonctionne. (Source: cette réponse)

import urllib.request
# Download the file from `url` and save it locally under `file_name`:
urllib.request.urlretrieve(url, file_name)

Notez la déclaration d'importation.

Vous devez faire import urllib.request au lieu de import urllib.

11
Community 23 mai 2017 à 11:51

Comme le dit l'erreur, urllib n'a pas de fonction retrieve.

En Python 2, le module avait une fonction urlretrieve . Dans Python 3, cette fonction a été déplacée vers urllib.request.urlretrieve.

Vous pouvez trouver tout cela dans la documentation: https://docs.python.org/3/ bibliothèque / urllib.html

4
Daniel Roseman 15 juil. 2015 à 14:06