我目前正在写的是从URL下载文件的脚本
import urllib.request
urllib.request.urlretrieve(my_url, 'my_filename')
根据该文档, urllib.request.urlretrieve
是一个旧式接口,并可能成为过时的,所以我想避免它,所以我没有在不久的将来重新编写这些代码。
我无法找到像另一个接口download(url, filename)
在标准库。 如果urlretrieve
被认为是一种传统的接口在Python 3,什么是替代?
弃用是一回事, 可能会在未来的某个时刻成为过时的是另一回事。
如果它适合你的需求,我会继续使用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)
在不使用的另一种解决方案shutil
并没有其他外部库类似requests
。
import urllib.request
image = {'url': 'https://cdn.sstatic.net/Sites/stackoverflow/img/appletouch-icon.png'}
p = 'image.png'
response = urllib.request.urlopen(image['url'])
image = response.read()
file = open(p, 'wb')
file.write(image)
file.close()