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

pythoning 2015-03-16

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

相关推荐