Python exifread - 解析困难

Python exifread - Parsing difficulties

我正在尝试获取多张照片的坐标,即我正在尝试使用 python 脚本获取 exif 数据。目标是对所有照片进行地理配准并在地图上显示它们的位置。但是,我遇到了 exif 问题。我在 Windows(64 位)上安装了相应的 (Strawberry) Perl 软件,然后使用 Anaconda (Navigator) 安装了 Exiftool 模块(版本 12.30),但无济于事。它给了我以下错误:ModuleNotFoundError: No module named 'exif'。如果我使用命令 pip install exif 它告诉我已经满足要求。我在这里错过了什么?如果需要,我很乐意提供更多信息。

...我也尝试了另一种选择:模块 exifread 可以正常工作,没有导入问题,但似乎没有所有必要的功能(我可以读取坐标,但无法处理坐标的提取,它当我想要一个可以进一步处理的度数、分钟和秒的数组时,给我一个 IfdTag 对象。)

有一个实用函数 exifread.utils.get_gps_coord(),它提供了方便的方法来访问格式为元组的坐标 (latitude, longitude)。注意 latitude 的负值表示 Southlongitude 的负值 - West

例子

import exifread
path = 'image.jpg'
with open(path, 'rb') as f:
    tags = exifread.process_file(f, details=False)

coord = exifread.utils.get_gps_coords(tags)
print(coord)

为了完整起见,还有其他模块可以与 exif 一起使用:

此外,如评论中所述 - 您可以通过 subprocess

使用 ExifTool(Perl 软件)