Какую команду использовать вместо urllib.request.urlretrieve?

В настоящее время я пишу скрипт, который берет URL-адрес изображения и загружает его в файл с предварительным именем.

Вот соответствующая часть моего кода:

import urllib.request urllib.request.urlretrieve(image['url'],p) 

Он берет «url» и сохраняет его как «p».

Согласно документации python, urllib.request.urlretrieve является устаревшим интерфейсом и может стать устаревшим в будущем, поэтому я хотел бы избежать его, если это вообще возможно, поэтому мне не нужно переписывать его в ближайшее время.

Я пытаюсь найти другую команду, которая позволяет мне выполнять command(url,filename) , но пока не повезло.

У вас есть какие-то хорошие советы относительно того, какую команду я должен использовать вместо этого?

О, и я также хотел бы избежать использования внешних библиотек, если это возможно.

4 Solutions collect form web for “Какую команду использовать вместо urllib.request.urlretrieve?”

Устаревшее – это одно, может стать устаревшим в какой-то момент в будущем, это другое.

Если это соответствует вашим потребностям, я продолжаю использовать urlretrieve .

Тем не менее, вы можете обойтись без этого:

 from urllib.request import urlopen from shutil import copyfileobj with urlopen(image['url']) as in_stream, open(p, 'wb') as out_file: copyfileobj(in_stream, out_file) 

запросы действительно приятны для этого. Есть несколько зависимостей, хотя для его установки. Вот пример.

 import requests r = requests.get('imgurl') with open('pic.jpg','wb') as f: f.write(r.content) 

Вы можете использовать urllib2 ; вы, вероятно, должны использовать requests http://docs.python-requests.org/en/latest/

urllib – это наследие

urllib2 может urllib2 боль

Я хотел добавить, что это также работало в xml-файлах.

Python - лучший язык программирования в мире.