Over a million developers have joined DZone.

Read & Write JPEG COM And EXIF Metadata

DZone's Guide to

Read & Write JPEG COM And EXIF Metadata

· ·
Free Resource
This snippet is similar to my previous one.

import jpeg

#read/write JPEG comments (aka the COM area)
jpeg.setComments(txt, file)

#read/write some EXIF data
e = jpeg.getExif(file)   #an Exif object
e2 = jpeg.getExif2(file) #an Exif extension segment as Exif instance too

#quick getter
d = e.dict()
print d['image description']
e.display()  #function to print all tags and their value, type, etc.

#some tags with an explicit interface, some are writable
print e.description
e.description = "my nice picture"

#generic read function
print e.get(0x010e)  #value for a tag number you know
print e.get(0x010e, value=False) #get the tag as a Tag instance

#generic write function
e.set(0x010e, "my nice picture", e.ifd0, 2)
    #e.ifd0, e.exif, e.gps or e.interop, represents the IFD the tag belongs to
    #and 2 represents the fact that the tag is of ASCII type
    #see www.exif.org specifications for details

for tag in e:
   print tag.getValue() #value parsed
   print tag.value      #value raw
   tag.setValue(100)    #change it

#save the changed Exif segment back into the image file
jpeg.setExif(e, file) 

See more details, and download the module here.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}