Python - 从 urllib 获取图像,然后从 PIL 图像读取 EXIF 数据不起作用

Posted

技术标签:

【中文标题】Python - 从 urllib 获取图像,然后从 PIL 图像读取 EXIF 数据不起作用【英文标题】:Python - fetching image from urllib and then reading EXIF data from PIL Image not working 【发布时间】:2013-10-24 15:49:49 【问题描述】:

我使用以下代码从 python 中的 url 获取图像:

import urllib
from PIL import Image
urllib.urlretrieve("http://www.gunnerkrigg.com//comics/00000001.jpg", "00000001.jpg")
filename = '00000001.jpg'
img = Image.open(filename)
exif = img._getexif()

但是,这种方式 exif 数据总是“无”。但是当我手动下载图像然后在python中读取EXIF数据时,图像数据不是None。 我也尝试过以下方法(来自Downloading a picture via urllib and python):

import urllib
f = open('00000001.jpg','wb')
f.write(urllib.urlopen('http://www.gunnerkrigg.com//comics/00000001.jpg').read())
f.close()
filename = '00000001.jpg'
img = Image.open(filename)
exif = img._getexif()

但这又给了我'exif'的'None'。有人可以指出我可以做些什么来解决这个问题吗?

谢谢!

【问题讨论】:

【参考方案1】:

您使用的 .jpg 文件不包含 exif 信息。如果您尝试使用来自 http://www.exif.org/samples/ 的 exif 示例使用相同的 python,我想您会发现它有效。

【讨论】:

我已经在包含 exif 信息的图像上尝试过,但这不起作用。 嗯,它对我有用。编辑您的答案以显示您使用的实际包含 EXIF 的图像。 None 不是您问题中图像的预期结果,因此根本不是问题。

以上是关于Python - 从 urllib 获取图像,然后从 PIL 图像读取 EXIF 数据不起作用的主要内容,如果未能解决你的问题,请参考以下文章

python * urllib_urlopen( )

Python 3.7 - 下载图像 - Urllib.request.urlretrieve 错误

以简单的方式通过请求获取图像

python从url保存图像

urllib.error.HTTPError:HTTP 错误 403:使用 urllib.requests 禁止

Python - 从网址保存图像[重复]