Pourquoi vous devriez utiliser urlopen au lieu d'urlretrieve pour télécharger des fichiers Python

Conclusion

Utilisez urlopen. Comme urlretrieve génère un fichier au début du téléchargement, un fichier incomplet restera si le téléchargement échoue ou est interrompu.

Aperçu

Lors du téléchargement d'un fichier en Python, urlretrieve est le plus simple à écrire.

urlretrieve


import urllib

urllib.request.urlretrieve(download_url, save_dir)

urlretrieve semble être obsolète. Si vous faites la même chose, urlopen semble être recommandé. Cependant, urlopen est un peu comme suit, mais la description est compliquée, donc s'il n'y a pas de problème, j'aimerais utiliser la récupération d'url.

urlopen


import urllib
data = urllib.request.urlopen(download_url).read()
with open(save_dir, mode="wb") as f:
    f.write(data)

urlopen VS urlretrieve

urlopen a l'avantage d'avoir l'option timeout, mais c'est trivial. Il y a raisons majeures pour lesquelles vous ne devriez pas utiliser urlretrieve </ b>. C'est comme suit.

--urlretireve crée un fichier au début du téléchargement. --urlopen créera un fichier une fois le téléchargement terminé.

urlretireve générera le fichier en premier, quel que soit le succès ou l'échec du téléchargement. C'est une image d'écriture de données dans le fichier créé à tout moment. En d'autres termes, si le téléchargement échoue ou est interrompu pour une raison quelconque, un fichier incomplet sera créé (ce sera un fichier corrompu et ne pourra pas être lu du tout).

À la fin

J'étais un peu accro, mais je n'avais aucune information, alors j'ai écrit un article. Je pense que c'est un problème fatal, alors n'utilisez pas uriretrieve.

Recommended Posts

Pourquoi vous devriez utiliser urlopen au lieu d'urlretrieve pour télécharger des fichiers Python
Pourquoi utiliser Pandas Apply ()
[Python] Résumé de l'utilisation des pandas
[Python2.7] Résumé de l'utilisation d'unittest
Résumé de l'utilisation de la liste Python
[Python2.7] Résumé de l'utilisation du sous-processus
Utilisez boto pour charger / télécharger des fichiers vers s3.
[Question] Comment utiliser plot_surface de python
[Python] Comment utiliser deux types de type ()
Résumé de la façon d'importer des fichiers dans Python 3
Résumé de l'utilisation de MNIST avec Python
Conversion par lots de fichiers Excel en JSON [Python]
Résumé de l'étude de Python pour utiliser AWS Lambda
Vous devez savoir si vous utilisez Python! 10 bibliothèques utiles
J'ai essayé de résumer comment utiliser matplotlib de python
Utilisez urlparse.urljoin au lieu de os.path.join pour les jointures d'URL Python
Comment utiliser Python Kivy ① ~ Bases du langage Kv ~
Comment télécharger des fichiers depuis Selenium of Python dans Chrome
python> shutil.copytree ()> ne pas écraser les fichiers> utiliser distutils.dir_util.copy_tree () à la place
Notes de site pour vous aider à utiliser NetworkX avec Python
Trois raisons pour lesquelles les apprenants en machine learning devraient utiliser Python
[Python] Résumé de l'utilisation des fonctions de fractionnement et de jointure
[Python] Utilisez ceci pour lire et écrire des fichiers wav [wavio]
[Utilisation gratuite] 7 sites d'apprentissage où vous pouvez étudier Python
Lorsque vous souhaitez utiliser plusieurs versions de la même bibliothèque Python (environnement virtuel utilisant venv)
python3: Comment utiliser la bouteille (2)
[Python] Comment utiliser la liste 1
Comment utiliser Python Argparse
Python: comment utiliser pydub
[Python] Comment utiliser checkio
Comment utiliser Python lambda
[Python] Comment utiliser virtualenv
python3: Comment utiliser la bouteille (3)
python3: Comment utiliser la bouteille
Comment utiliser les octets Python
Notez ce que vous avez fait pour utiliser Flycheck avec Python
Vous ne devez pas utiliser l'option --color = always de la commande grep
Comment utiliser les fonctions dans des fichiers séparés version Perl et version Python
Exemple à utiliser après l'authentification OAuth de l'API BOX avec Python
Comment utiliser Python Kivy (référence) -J'ai traduit le langage Kivy de la référence API-
Grammaire de base du système Python3 (comment utiliser les fonctions, la fermeture, la fonction lambda)
[Python] Lorsque vous souhaitez utiliser toutes les variables dans un autre fichier
Indispensable si vous utilisez Python! Comment utiliser Numpy pour accélérer les calculs!