python 通过exifread读取照片信息
通过第三方库exifread读取照片信息。
exifread官网:https://pypi.org/project/ExifRead/
一、安装exifread
pipinstallexifread
二、读取照片信息,以及根据经纬度通过百度地图API获取位置
importexifread importjson importurllib.request #Openimagefileforreading(binarymode) f=open('001.jpg','rb') #ReturnExiftags tags=exifread.process_file(f) ''' #打印所有照片信息 fortagintags.keys(): print("Key:{},value{}".format(tag,tags[tag])) ''' #打印照片其中一些信息 print('拍摄时间:',tags['EXIFDateTimeOriginal']) print('照相机制造商:',tags['ImageMake']) print('照相机型号:',tags['ImageModel']) print('照片尺寸:',tags['EXIFExifImageWidth'],tags['EXIFExifImageLength']) #获取经度或纬度 defgetLatOrLng(refKey,tudeKey): ifrefKeynotintags: returnNone ref=tags[refKey].printable LatOrLng=tags[tudeKey].printable[1:-1].replace("","").replace("/",",").split(",") LatOrLng=float(LatOrLng[0])+float(LatOrLng[1])/60+float(LatOrLng[2])/float(LatOrLng[3])/3600 ifrefKey=='GPSGPSLatitudeRef'andtags[refKey].printable!="N": LatOrLng=LatOrLng*(-1) ifrefKey=='GPSGPSLongitudeRef'andtags[refKey].printable!="E": LatOrLng=LatOrLng*(-1) returnLatOrLng #调用百度地图API通过经纬度获取位置 defgetlocation(lat,lng): url='http://api.map.baidu.com/geocoder/v2/?location='+lat+','+lng+'&output=json&pois=1&ak=申请的百度地图KEY' req=urllib.request.urlopen(url) res=req.read().decode("utf-8") str=json.loads(res) #print(str) jsonResult=str.get('result') formatted_address=jsonResult.get('formatted_address') returnformatted_address lat=getLatOrLng('GPSGPSLatitudeRef','GPSGPSLatitude')#纬度 lng=getLatOrLng('GPSGPSLongitudeRef','GPSGPSLongitude')#经度 print('纬度:{}经度:{}'.format(lat,lng)) location=getlocation(str(lat),str(lng)) print('位置:{}'.format(location))
以上就是python通过exifread读取照片信息的详细内容,更多关于python读取照片信息的资料请关注毛票票其它相关文章!