Python 正在下载带有urlopen/shutil的web映像:错误\uu退出__
我正在尝试使用shutil/urlopen下载图像,因为不推荐使用?我不确定它是否被弃用,但urlretrieve并没有下载该文件,它只是创建了一个图像名称的文件夹。在看了另一个问题后,我看到了一个提供此代码的问题,但我在这个问题上也得到了一个错误Python 正在下载带有urlopen/shutil的web映像:错误\uu退出__,python,download,urlopen,shutil,webimage,Python,Download,Urlopen,Shutil,Webimage,我正在尝试使用shutil/urlopen下载图像,因为不推荐使用?我不确定它是否被弃用,但urlretrieve并没有下载该文件,它只是创建了一个图像名称的文件夹。在看了另一个问题后,我看到了一个提供此代码的问题,但我在这个问题上也得到了一个错误 from urllib2 import urlopen from shutil import copyfileobj url = 'http://www.watchcartoononline.com/thumbs/South-Park-Seaso
from urllib2 import urlopen
from shutil import copyfileobj
url = 'http://www.watchcartoononline.com/thumbs/South-Park-Season-14-Episode-11-Coon-2-Hindsight.jpg'
path = 'image.jpg'
with urlopen(url) as in_stream, open(path, 'wb') as out_file:
copyfileobj(in_stream, out_file)
输出
with urlopen(url) as in_stream, open(path, 'wb') as out_file:
AttributeError: addinfourl instance has no attribute '__exit__
urlopen
未实现上下文管理器,因此不能在with
块中使用它。这是你的电话号码
您可以使用contextlib.closing
来包装它,尽管上面的bug报告也提到了一些问题
注意:这仅适用于Python<3.2
urlopen
未实现上下文管理器,因此不能在带有块的中使用它。这是你的电话号码
您可以使用contextlib.closing
来包装它,尽管上面的bug报告也提到了一些问题
注意:这仅适用于Python<3.2尝试以下方法:
import urllib
urllib.urlretrieve("http://url/img.jpg", "img.jpg")
试试这个:
import urllib
urllib.urlretrieve("http://url/img.jpg", "img.jpg")
urlopen
不是Python 2中的上下文管理器(我不知道3)。您必须手动打开和关闭它:
in_stream = urlopen(url)
with open(path, 'wb') as out_file:
copyfileobj(in_stream, out_file)
in_stream.close()
您也可以只使用urllib.urlretrieve
:
import urllib
urllib.urlretrieve(url, path)
它以块的形式读/写,让您可以干净地下载大文件。urlopen
在Python 2中不是上下文管理器(我不知道3)。您必须手动打开和关闭它:
in_stream = urlopen(url)
with open(path, 'wb') as out_file:
copyfileobj(in_stream, out_file)
in_stream.close()
您也可以只使用urllib.urlretrieve
:
import urllib
urllib.urlretrieve(url, path)
它分块读/写,可以让你干净地下载大文件。正如我在问题中所说,urlretrieve无法工作,因为我下载的站点有它的图像deprecated@Crispy:你确定你要找的词是deprecated吗?这个词我可能弄错了,因为我的编程术语不是很好。@Crispy如果你需要下载这个文件,请使用这个解决方案。我不确定您所说的不推荐是什么意思,但是urlretrieve
几乎等同于您在那里所做的。是的,我尝试使用urlretrieve,它现在可以工作了。正如我在问题中所说的那样,我在意外事件中创建了一个我的图像名称目录,urlretrieve无法工作,因为我下载的站点有它的图像deprecated@Crispy:你确定你要找的词是deprecated吗?这个词我可能弄错了,因为我的编程术语不是很好。@Crispy如果你需要下载这个文件,请使用这个解决方案。我不确定您所说的不推荐是什么意思,但是urlretrieve
几乎等同于您在那里所做的。是的,我尝试使用urlretrieve,它现在可以工作了。我正在制作一个关于我在事故中的形象名字的目录