EXIF Writing in Python
How much does it suck to transfer a few hundred photos from your camera, only to afterwards notice the date on the camera was wrong? So, here I go looking for an EXIF batch updating program, and the pickings are much slimmer than I would expect. Of course, writing my own seems like a pretty viable option and the EXIF.py module would be grand to apply here, save for one problem: It was written in 2002 and it still doesn't write back to the image.
What's a dad with hundreds of family photos to do? Fix it. Talked with someone else interested in this and came up with three options to move forward.
- Replace the entire module with a ctypes wrapping over the libexif library.
- Jam EXIF writing into the existing module by invoking the exif command-line utility.
- Reverse engineer the EXIF format from the modules parsing functions and properly implement writing into the library.
If anyone knows that this is futile and a solution already exists, please let me know.

4 comments:
Take a look at this:
http://www.sno.phy.queensu.ca/~phil/exiftool/
It's not in Python but it might be just good enough to get the job done.
Did you try the cheeseshop? Pexif 0.8 looks likely to be useful.
Here are some options that work on Linux, not sure about cross platform.
Exiv2 claims to have been born because of the exact problem you want to solve.
http://www.exiv2.org/
I have used jhead before to extract info, but it also claims to be able to "relative adjust" timestamps.
http://www.sentex.net/~mwandel/jhead/
Hmm, you sure its that good?
Ibiza
Post a Comment