python批量处理图片属性_Python 批量修改图片exif属性

一共两个文件

config.ini  //放配置文件

exif.py     //主程序文件

config.ini 文件源码

[global]

Artist = www.blmm.com ;作者

DateTimeOriginal = now ;时间(now为当前时间,如指定时间则格式为:2017:04:09 14:13:22)

Software = Adobe Photoshop CS6 Windows ;程序名称

exif.py 文件源码

#ecoding:utf-8

import pyexiv2 as ev

import time

import os

import ConfigParser

class exif():

def __init__(self):

config = ConfigParser.ConfigParser()

config.readfp(open(‘config.ini‘, "rb"))

self.Artist = config.get("global", "Artist")

self.DateTimeOriginal = config.get("global", "DateTimeOriginal")

self.Software = config.get("global", "Software")

def imgSave(self,dirname):

for filename in os.listdir(dirname):

path = dirname + filename

if os.path.isdir(path):

path += ‘/‘

self.imgSave(path)

else:

self.imgExif(path)

def imgExif(self,path):

try:

if self.DateTimeOriginal == "now":

mytime = time.strftime(‘%Y:%m:%d %H:%M:%S‘,time.localtime(time.time()))

else:

mytime = self.DateTimeOriginal

exiv_image = ev.ImageMetadata(path)

exiv_image.read()

exiv_image["Exif.Image.Artist"] = self.Artist

exiv_image["Exif.Photo.DateTimeOriginal"] = mytime

exiv_image["Exif.Image.Software"] = self.Software

exiv_image.write()

print u‘图片:‘,path,u‘操作成功‘

except:

print u‘图片:‘,path,u‘操作失败‘

def star(self):

path = raw_input(unicode(‘请输入图片路径:‘,‘utf-8‘).encode(‘gbk‘))

#newpath = unicode(path, ‘utf8‘)

self.imgSave(path+‘/‘)

self.star()

print u‘#------------------------------------‘

print u‘# 程序:批量修改图片exif信息‘

print u‘# 路径格式为:G:\图片‘

print u‘#------------------------------------‘

Exif = exif()

Exif.star()

运行效果:

拖动文件夹到窗口回车

效果图

注:修改exif信息用到了pyexiv2 模块, 下载地址

时间: 04-09

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值