文档章节

Python 批量修改图片exif属性

阿锋zxf
 阿锋zxf
发布于 02/16 14:51
字数 338
阅读 6
收藏 0

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 模块, 下载地址

https://launchpad.net/pyexiv2

© 著作权归作者所有

共有 人打赏支持
阿锋zxf
粉丝 9
博文 172
码字总数 172557
作品 0
深圳
程序员
私信 提问
Python 批量修改图片exif属性

Python 批量修改图片exif属性 一共两个文件 config.ini  //放配置文件 exif.py   //主程序文件 config.ini 文件源码 exif.py 文件源码 运行效果: 拖动文件夹到窗口回车 效果图 注:修改e...

阿锋zxf
2018/05/22
0
0
python --- 面向对象编程

面向过程编程(百度 or google):   (1) 定义:   (2)对比于函数式和面向过程编程的优缺点: python中的类:   (1)定义(百度 or google):   (2)说明: python中的类由属性与方法构...

码农47
2017/08/31
0
0
9行python代码批量修改window屏保图文件

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/meiqi0538/article/details/85006095 前言 最近看到window10开机壁纸特别好看,想去保存下来,查到其源文件的...

一笑清寒
2018/12/14
0
0
Fung Wing Kit/php-qiniu

php-qiniu 七牛云存储非官方SDK,采用PSR规范,支持Composer安装 安装 添加 到 . composer.phar install 引导 基本用法 上传 上传文件 上传字符串 基本操作 查看文件 复制文件 移动文件 删除...

Fung Wing Kit
2014/12/14
0
0
Windows下载Android全部源码

下载msysgit,安装 官方下载:http://code.google.com/p/msysgit/downloads/list, 打开Git Bash,执行命令 输入命令,切换到manifest目录 git tag 列出android各个分支版本 下载android-2.2...

SuShine
2015/06/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

高度可配置的 Linux 内存守护程序 Nohang!

Nohang 是一个 Linux 守护程序,也是一个高度可配置的 OOM(内存溢出)阻止工具,适用于 Linux 系统,能够有效地防止内存不足的情况。 部分功能特性 具有良好注释的配置文件,配置方面(配置...

linux-tao
17分钟前
3
0
Java B2B2C多用户商城 springcloud架构(十六)用restTemplate消费服务

构架工程 创建一个springboot工程,去消费RESTFUL的服务。这个服务是 http:///gturnquist-quoters.cfapps.io/api/random ,它会随机返回Json字符串。 在Spring项目中,它提供了一个非常简便的...

itcloud
18分钟前
0
0
Linux 用户和用户组管理

Linux 用户和用户组管理 Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。 用户的账号一方...

城市之雾
26分钟前
2
0
[activiti]activiti6.x调用RESTful服务例子

package com.activiti6.demo;import org.activiti.spring.boot.SecurityAutoConfiguration;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoco......

Danni3
32分钟前
0
0
高度可配置的 Linux 内存守护程序 Nohang!

部分功能特性 具有良好注释的配置文件,配置方面(配置中有 38 个参数) 可以将 SIGKILL 和 SIGTERM 作为发送给 victim 的信号 支持 zram(使用 mem_used_total 作为触发器) 可定制的监控强...

linuxCool
48分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部