2012-12-23 25 views
7

Python 3.x için bir exif kütüphanesi var mı? Girdiğim her exif kütüphanesi sadece Python 2.x için görünüyor. Çok süslü bir şeye ihtiyacım yok. Sadece değerleri okumak yeterlidir.Exif kütüphanesi

+1

Bu bir hile, ama biz [Phil Harvey'in exiftool] (http: //www.sno.phy). Python'dan queensu.ca/~phil/exiftool/) '-json -fast - @ argfile' seçeneklerine sahip altprocessi kullanarak. Basit ve eksiksizdir ve toplu işlerde binlerce görüntüye ihtiyacınız olduğunda hızlıdır (yaptığımız gibi). –

cevap

14

Seçenek 1. pyexiv2'yi kullanın. Bakınız: pyexiv2 Bug #824440: Python 3 support Py3K için boost-python'a ihtiyaç duyarsınız ve ayrıca yukarıdaki hatanın sonuna gönderilen postayı elle uygularsınız, fakat bundan başka çalışır. En son Ubuntu'nun altından kalkmak ve koşmak en kolay yoldur.

Seçenek 2. PIL'u kullanın Downside: Bu dal/çatal aktif olarak geliştirilmemiş gibi görünmektedir.

from PIL import Image 
from PIL.ExifTags import TAGS 

image = Image.open("test.jpg") 
exif = image._getexif() 
# decode exif using TAGS 

Seçenek 3. PythonMagick da

from PythonMagick import Image 

img = Image("image.jpg") 
print img.attribute("EXIF:Orientation") 

bakınız: referans için Exif manipulation library for python

+0

Ah. PIL'nin bir Python3 çatalı olduğunu bilmiyordum. Bir deneyeyim ve sana geri döneceğim. –

+0

Bu Soruda bunu test edebilir, görüntüleri indirebilir ve ImageDescription'ı görüntülemeye çalışabilirsiniz. http://stackoverflow.com/questions/22173902/how-to-get-image-title-in-python-django – Clayton

5

, pyexiv2 homepage hemen Gexiv2 işaret eden bir karşı koyma uyarı vardır, libexiv2 etrafında GObject-introspection göre sarıcı Python 3.x desteği için özel olarak (aynı kütüphane pyexiv2 sarar).

Ne yazık ki, yazım sırasında, Gexiv2'nin kurulumu hala acı verici ve şu ana kadar Ubuntu Precise üzerinde çalışmayı başaramadım (lib'lerin güncelliğini yitirmiş gibi görünüyor). bir LTS ...), böylece PIL hala Python 3'teki EXIF ​​etiketlerini okumak için en iyi seçenektir.

+0

Gexiv2 bağlantınız ölü gibi görünüyor. –

+0

Teşekkürler - şimdi düzeltilmelidir –

+0

Vay, hızlıydı! –

İlgili konular