最初のステップ:インストール
exifreadをインストールするPIP
第二部:コード
インポートexifread インポート要求 クラス:PhotoExifInfo() DEF __init__ (セルフ、photo_path): self.photo_path = photo_path self.baidu_map_ak = " " DEFのget_tags(自己): "" " 写真情報の取得" "" image_content =オープン(self.photo_pathを、' RB ' ) タグ = exifread.process_file(image_contentは) "" " #は、写真のすべての情報を横断取得 :tags.itemsでJ、K()のために 、印刷(J K) ""」 #プリント写真やいくつかの情報を 印刷する(「撮影時間:」、タグ[ 「EXIF日時DateTimeOriginal 」]) を印刷(「カメラメーカー:」、タグ[ 「画像メイク」]) を印刷(「カメラモデル:」、タグ[ " モデル画像' ]) を印刷(' 画像サイズ:'タグ[ ' EXIF ExifImageWidth ' ]、タグ[ ' EXIF ExifImageLength " ]) image_content.close() の戻りタグを デフget_lng_lat(自己): "" " 经纬度转换""" タグ = self.get_tagsは() してみてください: #纬度 LatRef =タグ[ " GPS GPSLatitudeRef " ] .printable 緯度 =タグ[ " GPS緯度(数値)GPSLatitude " ] .printable [1:-1] .replace(" " "").replace(" / " " 、")。スプリット( " ") 緯度 =フロート(LAT [0])+フロート(LAT [1])/ 60 +フロート(LAT [2])/ 3600 であれば LatRef =!" N " : 緯度 =緯度*(-1 ) #经度 LonRef =タグ[ " GPS GPSLongitudeRef " ] .printable ロン =タグ[ " GPS GPSLongitude " ] .printable [1:-1] .replace(" "、"").replace(" / "、" ").split(" 、") ロン =フロート(ロン[0])+フロート(ロン[1])/ 60 +フロート(ロン[2])/ 3600 であれば LonRef =!" E " : ロン =ロン*(-1 ) リターン緯度、経度 除く: 印刷(' 取得できません' ) デフget_city_info(自己): 結果 = self.get_lng_lat() の場合の結果: 緯度、経度 = 結果の URL = "http://api.map.baidu.com/reverse_geocoding/v3/?ak= " + self.baidu_map_ak + " &出力= JSON&coordtype = wgs84ll&位置= " + STR(LAT)+ ' ' + STR(経度) 応答 = 要求します。 (URL).json()を取得 状況 =応答[ ' 状態を' ] の場合、ステータス== 0: アドレス =応答[ ' 結果' ] [ ' formatted_address '] リターンアドレス 他: プリント(' baidu_mapエラー' ) 場合 __name__ == ' __main__ ' : 結果 =テスト= PhotoExifInfo(" IMG_20190918_080329.jpg " (.get_city_info)) プリント(" 拍摄地点:{} " .format(結果))
注:適用するために、それらの緯度及び経度が行くことができる変換するBaiduのインターフェイス