Never been to DZone Snippets before?

Snippets is a public source code repository. Easily build up your personal collection of code snippets, categorize them with tags / keywords, and share them with the world

Read & Write JPEG COM and EXIF metadata (See related posts)

This snippet is similar to my previous one.

import jpeg

#read/write JPEG comments (aka the COM area)
jpeg.getComments(file)
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

#iterate
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.

Comments on this post

haupert posts on Jan 02, 2006 at 16:13
You misspelled the title.

You need to create an account or log in to post comments to this site.


Click here to browse all 4852 code snippets

Related Posts