Python exift
时间: 2023-11-05 13:53:15 浏览: 28
Exif 是一种存储在数字照片中的元数据格式,它包含了照片的拍摄日期、相机型号、曝光时间等信息。在 Python 中,可以使用 PIL 或者 ExifRead 库来读取和处理图片的 Exif 信息。
使用 PIL 库读取图片的 Exif 信息示例如下:
```python
from PIL import Image
# 打开图片
with Image.open('image.jpg') as img:
# 获取 Exif 信息
exif_data = img._getexif()
# 如果存在 Exif 信息
if exif_data:
# 输出 Exif 信息
for tag_id in exif_data:
tag = TAGS.get(tag_id, tag_id)
data = exif_data.get(tag_id)
# 如果是可读取的字符串,则直接输出
if isinstance(data, bytes):
data = data.decode('utf-8', errors='replace')
print(f'{tag}: {data}')
else:
print('No Exif data found.')
```
使用 ExifRead 库读取图片的 Exif 信息示例如下:
```python
import exifread
# 打开图片
with open('image.jpg', 'rb') as f:
# 读取 Exif 信息
exif_tags = exifread.process_file(f)
# 如果存在 Exif 信息
if exif_tags:
# 输出 Exif 信息
for tag in exif_tags.keys():
if tag not in ('JPEGThumbnail', 'TIFFThumbnail', 'Filename', 'EXIF MakerNote'):
print(f'{tag}: {exif_tags[tag]}')
else:
print('No Exif data found.')
```
以上示例代码中,`image.jpg` 是待读取的图片文件名。无论是使用 PIL 还是 ExifRead,都可以获取到图片的 Exif 信息,但是 ExifRead 提供了更加方便的 API 来访问 Exif 数据。