Czy istnieje biblioteka exif dla Pythona 3.x? Wygląda na to, że każda biblioteka exif, na którą działam, jest przeznaczona tylko dla Pythona 2.x. Nie potrzebuję niczego zbyt wymyślnego. Wystarczy odczytać wartości.Biblioteka do czytania Exif
Odpowiedz
Opcja 1. Użyj pyexiv2. Zobacz: pyexiv2 Bug #824440: Python 3 support Potrzebujesz boost-python dla py3k, a także ręcznie zastosować poprawkę opublikowaną na końcu powyższego błędu, ale poza tym działa. Prawdopodobnie najłatwiej dostać się do pracy pod najnowszym Ubuntu.
Opcja 2. Używanie Wadą: ta gałąź/widelec nie jest aktywnie rozwijana.
from PIL import Image
from PIL.ExifTags import TAGS
image = Image.open("test.jpg")
exif = image._getexif()
# decode exif using TAGS
Opcja 3. Użyj PythonMagick
from PythonMagick import Image
img = Image("image.jpg")
print img.attribute("EXIF:Orientation")
Patrz także: Exif manipulation library for python
Ah. Nie zdawałem sobie sprawy, że PIL ma widelec Python3. Dam ci spróbować i wrócę do ciebie. –
Czy możesz przetestować to na tym Pytanie, pobrać obrazy i spróbować uzyskać ImageDescription. http://stackoverflow.com/questions/22173902/how-to-get-image-title-in-python-django – Clayton
Dla porównania, pyexiv2 homepage ma teraz ostrzeżenie Deprecation który wskazuje Gexiv2, wrapper gobject-introspekcja oparte wokół libexiv2 (ta sama biblioteka Pyexiv2 wraps) specjalnie w celu obsługi Pythona 3.x.
Niestety, w chwili pisania tego tekstu instalacja Gexiv2 jest nadal bolesna i do tej pory nie mogłem jej uruchomić na Ubuntu Precise (wygląda na to, że biblioteki są przestarzałe - prawdopodobnie słusznie mi się kręci na LTS ...), więc PIL jest nadal najlepszą opcją do czytania znaczników EXIF w Pythonie 3.
Twój link do gexiv2 wydaje się być martwy. –
Dzięki - należy teraz naprawić –
Wow, to było szybkie! –
To trochę oszustwo, ale nazywamy [exiftool Phila Harveya] (http: //www.sno.phy. queensu.ca/~phil/exiftool/) z Pythona za pomocą podprocesu z opcjami '-json -fast - @ argfile'. Jest to proste i kompletne, i jest szybkie, gdy trzeba przetworzyć tysiące obrazów w partiach (tak jak my). –