python用来获得图片exif信息的库实例分析


Posted in Python onMarch 16, 2015

本文实例讲述了python用来获得图片exif信息的库用法。分享给大家供大家参考。具体分析如下:

exif-py是一个纯python实现的获取图片元数据的python库,官方下载地址:
http://exif-py.svn.sourceforge.net/viewvc/exif-py/source/EXIF.py?revision=19&view=markup

下面的代码演示的是调用方法。

# library test/debug function (dump given files)

if __name__ == '__main__':

    import sys

    import getopt

    # parse command line options/arguments

    try:

        opts, args = getopt.getopt(sys.argv[1:], "hqsdt:v", ["help", "quick", "strict", "debug", "stop-tag="])

    except getopt.GetoptError:

        usage(2)

    if args == []:

        usage(2)

    detailed = True

    stop_tag = 'UNDEF'

    debug = False

    strict = False

    for o, a in opts:

        if o in ("-h", "--help"):

            usage(0)

        if o in ("-q", "--quick"):

            detailed = False

        if o in ("-t", "--stop-tag"):

            stop_tag = a

        if o in ("-s", "--strict"):

            strict = True

        if o in ("-d", "--debug"):

            debug = True

    # output info for each file

    for filename in args:

        try:

            file=open(filename, 'rb')

        except:

            print "'%s' is unreadable\n"%filename

            continue

        print filename + ':'

        # get the tags

        data = process_file(file, stop_tag=stop_tag, details=detailed, strict=strict, debug=debug)

        if not data:

            print 'No EXIF information found'

            continue

        x=data.keys()

        x.sort()

        for i in x:

            if i in ('JPEGThumbnail', 'TIFFThumbnail'):

                continue

            try:

                print '   %s (%s): %s' % \

                      (i, FIELD_TYPES[data[i].field_type][2], data[i].printable)

            except:

                print 'error', i, '"', data[i], '"'

        if 'JPEGThumbnail' in data:

            print 'File has JPEG thumbnail'

        print

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
Python实现随机选择元素功能
Sep 14 Python
Python调用C语言的方法【基于ctypes模块】
Jan 22 Python
Python3实现的爬虫爬取数据并存入mysql数据库操作示例
Jun 06 Python
python统计中文字符数量的两种方法
Jan 31 Python
Python 数据库操作 SQLAlchemy的示例代码
Feb 18 Python
python3转换code128条形码的方法
Apr 17 Python
Python Threading 线程/互斥锁/死锁/GIL锁
Jul 21 Python
python 标准差计算的实现(std)
Jul 29 Python
基于Python2、Python3中reload()的不同用法介绍
Aug 12 Python
Pytorch mask-rcnn 实现细节分享
Jun 24 Python
python脚本框架webpy的url映射详解
Nov 20 Python
Python字符串格式化方式
Apr 07 Python
python通过pil模块获得图片exif信息的方法
Mar 16 #Python
使用Python抓取模板之家的CSS模板
Mar 16 #Python
Python实现竖排打印传单手机号码易撕条
Mar 16 #Python
python通过exifread模块获得图片exif信息的方法
Mar 16 #Python
python通过pil模块将raw图片转换成png图片的方法
Mar 16 #Python
python通过pil将图片转换成黑白效果的方法
Mar 16 #Python
python实现获取客户机上指定文件并传输到服务器的方法
Mar 16 #Python
You might like
PHP 文件上传功能实现代码
2009/06/24 PHP
PHP getName()函数讲解
2019/02/03 PHP
详解提高使用Java反射的效率方法
2019/04/29 PHP
JS 获取span标签中的值的代码 支持ie与firefox
2009/08/24 Javascript
同域jQuery(跨)iframe操作DOM(实例讲解)
2013/12/19 Javascript
JS 数字转换研究总结
2013/12/26 Javascript
js阻止默认事件与js阻止事件冒泡示例分享 js阻止冒泡事件
2014/01/27 Javascript
Javascript学习笔记之 函数篇(三) : 闭包和引用
2014/11/23 Javascript
js实现适用于素材网站的黑色多级菜单导航条效果
2015/08/24 Javascript
jQuery子元素过滤选择器用法示例
2016/09/09 Javascript
微信小程序开发实战教程之手势解锁
2016/11/18 Javascript
vue学习笔记之v-if和v-show的区别
2017/09/20 Javascript
vue使用中的内存泄漏【推荐】
2018/07/10 Javascript
Koa 使用小技巧(小结)
2018/10/22 Javascript
KOA+egg.js集成kafka消息队列的示例
2018/11/09 Javascript
微信小程序实现消息框弹出动画
2020/04/18 Javascript
JS eval代码快速解密实例解析
2020/04/23 Javascript
原生JS实现音乐播放器
2021/01/26 Javascript
[01:14:19]NAVI vs Mineski 2019国际邀请赛淘汰赛 败者组BO1 8.20.mp4
2020/07/19 DOTA
[53:10]完美世界DOTA2联赛决赛日 FTD vs GXR 第二场 11.08
2020/11/11 DOTA
Python挑选文件夹里宽大于300图片的方法
2015/03/05 Python
R vs. Python 数据分析中谁与争锋?
2017/10/18 Python
基于python监控程序是否关闭
2020/01/14 Python
python开根号实例讲解
2020/08/30 Python
Python 实现键盘鼠标按键模拟
2020/11/18 Python
斯洛伐克最大的婴儿食品和用品网上商店:Feedo.sk
2020/12/21 全球购物
医学专业五年以上个人求职信
2013/12/03 职场文书
2013的个人自我评价
2013/12/26 职场文书
师德师风自我剖析材料
2014/09/27 职场文书
学校党委副书记个人对照检查材料思想汇报
2014/09/28 职场文书
2014年招商引资工作总结
2014/11/22 职场文书
2014年销售内勤工作总结
2014/12/01 职场文书
2015年度党风廉政建设工作情况汇报
2015/01/02 职场文书
python数据库批量插入数据的实现(executemany的使用)
2021/04/30 Python
如何用RabbitMQ和Swoole实现一个异步任务系统
2021/05/29 PHP
java高级用法JNA强大的Memory和Pointer
2022/04/19 Java/Android