Я использую exifread
для получения информации Exif из фотографий.
В настоящее время я пытаюсь получить широту и долготу GPS, что я могу сделать:
def main():
images = image_paths(IMAGE_FOLDER) # folder is say "Sample Photos\\"
info = {}
for img in images:
_lat, _lon = "", ""
tags = exifread.process_file(open(img,'rb'))
for i in tags.keys():
if i == "GPS GPSLatitude":
print(i, ":::", tags[i])
Это печатает то, что я ожидаю, это ключевое имя и значения:
GPS GPSLatitude ::: [32, 52, 66443/1250]
GPS GPSLatitude ::: [32, 52, 531699/10000]
GPS GPSLatitude ::: [32, 52, 531699/10000]
GPS GPSLatitude ::: [32, 52, 132789/2500]
GPS GPSLatitude ::: [32, 52, 265817/5000]
Но чтобы пропустить этот цикл и просто быстро получить пары ключ/значение, я пытаюсь вместо этого (это заменяет цикл for i ...
)
_lon = tags["GPS GPSLatitude"]
Но я получаю сообщение об ошибке:
KeyError: 'GPS GPSLatitude'
Как мне получить доступ к «GPS GPSLatitude» (и «GPS GPSLongitude»), не зацикливаясь на ключах tags
?
Редактировать:
tags
is <class 'dict'>
exifread
, что такоеtype(tags)
? - person pstatix   schedule 10.05.2018print
, который автоматически печатает пробел между аргументами, если не указано иное. - person user2357112 supports Monica   schedule 10.05.2018Try/Except
и это исправило. Извините, что не заметил этого раньше :( - person BruceWayne   schedule 10.05.2018