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