Первый шаг: установить
пункт установить exifread
Вторая часть: Кодекс
Импорт exifread Импорт запросов класса PhotoExifInfo (): DEF __init__ (Self, photo_path): self.photo_path = photo_path self.baidu_map_ak = " " DEF get_tags (Self): "" " Получить фотографии Информация " "" image_content = Open (self.photo_path , ' гь ' ) Метки = exifread.process_file (image_content) "" " # получить фотографии обходов все информации для J, K в tags.items (): Print (J,к) «»» # Печать фотографий и некоторая информация для печати ( « время съемки: » Метки [ « EXIF Доли секунд оригинального времени » ]) Печать ( « Производитель камеры: » Метки [ « Image Make » ]) Печать ( « модель камеры: » Метки [ ' Модель Image ' ]) Печать ( ' размер изображения: ' Метка [ ' EXIF ExifImageWidth ' ] Метка [ ' EXIF ExifImageLength ' ]) image_content.close () возвратные теги Защита get_lng_lat (Я): "" " 经纬度转换""" метка = self.get_tags () попробуйте : # 纬度 LatRef = теги [ " GPS GPSLatitudeRef " ] .printable Lat = теги [ " GPS GPSLatitude " ] .printable [1: -1] .Надеть ( " " "" ) .Надеть ( " / " " , " ).сплит ( " ") Шир = поплавок (лат [0]) + поплавок (лат [1]) / 60 + поплавок (лат [2]) / 3600 , если LatRef =! " Н " : Шир = Шир * (-1 ) # 经度 LonRef = теги [ " GPS - GPSLongitudeRef " ] .printable Lon = метки [ " GPS - GPSLongitude " ] .printable [1: -1] .Надеть ( " " , "" ) .Надеть ( " / " , " " ) .split ( " ,") Lon = поплавок (Lon [0]) + поплавок (Lon [1]) / 60 + поплавок (Lon [2]) / 3600 , если LonRef =! " Е " : Lon = Lon * (-1 ) возвращение широта, долгота за исключением : печать ( ' Невозможно получить ' ) защиту get_city_info (Я): результат = self.get_lng_lat () , если результат: Lat, Lon = результат URL = "http://api.map.baidu.com/reverse_geocoding/v3/?ak= " + self.baidu_map_ak + " и выход = & coordtype JSON = wgs84ll & местоположение = " + ул (лат) + ' ' + ул (Lon) ответ = запросы. получить (URL) .json () статус = ответа [ ' статус ' ] , если статус == 0: адрес = ответ [ ' результат ' ] [ ' formatted_address '] Обратный адрес еще: Печать ( ' baidu_map ошибка ' ) , если __name__ == ' __main__ ' : результат = тест = PhotoExifInfo ( " IMG_20190918_080329.jpg " ) .get_city_info () для печати ( " 拍摄地点: {} " .format (результат))
Примечание: интерфейс Baidu, чтобы преобразовать их широты и долготы могут пойти, чтобы применить