以下的函数实现了以单独一张影像的exif信息复制给一个文件夹下的所有其他影像,包括焦距、相机型号经纬度等exif信息。另外关于分辨率、图像大小参数的参数不会改变。
#coding=utf-8
import os
import piexif
def getFileList(dir,Filelist, ext=None):
"""
获取文件夹及其子文件夹中文件列表
输入 dir:文件夹根目录
输入 ext: 扩展名
返回: 文件路径列表
"""
newDir = dir
if os.path.isfile(dir):
if ext is None:
Filelist.append(dir)
else:
if ext in dir[-3:]:
Filelist.append(dir)
elif os.path.isdir(dir):
for s in os.listdir(dir):
newDir=os.path.join(dir,s)
getFileList(newDir, Filelist, ext)
return Filelist
def main():
#exif基准图像
baseline_img='C:/Users/Administrator/Desktop/****.JPG'
#需修改图像的文件夹
org_img_folder='C:/Users/Administrator/****'
# 检索文件
imglist = getFileList(org_img_folder, [], 'JPG')
print('本次执行检索到 '+str(len(imglist))+' 张图像\n')
for imgpath in imglist:
imgname= os.path.splitext(os.path.basename(imgpath))[0]
# 对每幅图像执行相关操作
piexif.transplant(baseline_img, imgpath)
main()