2012-12-23 2 views
7

Python 3.x 용 exif 라이브러리가 있습니까? 내가 만나는 모든 exif 라이브러리는 파이썬 2.x 전용입니다. 나는 너무 멋진 것을 필요로하지 않는다. 그냥 값을 읽는 것만으로 충분합니다.Exif 라이브러리 읽기

+1

그것은 부정 행위입니다 만, [Phil Harvey 's exiftool] (http : //www.sno.phy. queensu.ca/~phil/exiftool/)를 사용하여 파이썬에서'-json -fast - @ argfile' 옵션으로 서브 프로세스를 사용합니다. 간단하고 완벽하며, 수천 개의 이미지를 일괄 적으로 처리해야하는 경우에는 빠릅니다. –

답변

14

옵션 1. pyexiv2를 사용하십시오. 참조 : pyexiv2 Bug #824440: Python 3 support py3k에는 boost-python이 필요하며 위 버그의 끝에 게시 된 패치를 수동으로 적용해야합니다. 아마 최신 Ubuntu에서 쉽게 실행될 수 있습니다.

옵션 2 사용 PIL 단점 :이 분기/분기는 적극적으로 개발되지 않은 것 같습니다.

from PIL import Image 
from PIL.ExifTags import TAGS 

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

은 옵션 3. PythonMagick 또한

from PythonMagick import Image 

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

참조 : 참고로 Exif manipulation library for python

+0

아. PIL이 Python3 포크를 가지고 있다는 것을 깨닫지 못했습니다. 나는 그것에게 시도를주고, 당신에게 앙갚음을 할 것이다. –

+0

이 질문에서이 내용을 테스트하고 이미지를 다운로드 한 다음 ImageDescription을 가져올 수 있습니까? http://stackoverflow.com/questions/22173902/how-to-get-image-title-in-python-django – Clayton

5

pyexiv2 homepage 지금 Gexiv2를 가리키는 중단 경고를 가지고, libexiv2 주위 G 객체 성찰 기반 래퍼 (동일한 라이브러리 pyexiv2는 파이썬 3.x를 지원하기 위해 특별히 랩핑했다.

불행히도, Gexiv2의 설치는 여전히 고통스럽고 지금까지 우분투 정밀 작업을 할 수 없었습니다 (libs가 오래된 것처럼 보입니다. LTS에서 ...), PIL은 여전히 ​​파이썬 3에서 EXIF ​​태그를 읽는 최선의 선택입니다.

+0

gexiv2에 대한 귀하의 링크가 죽은 것 같습니다. –

+0

감사합니다 - 지금 수정되어야합니다 –

+0

와우, 빨리 끝났습니다! –

관련 문제