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

804次阅读  |  发布于5年以前

本文实例讲述了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程序设计有所帮助。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8