2012-12-23 4 views
7

Python 3.xのexifライブラリはありますか?私が実行しているすべてのexifライブラリは、Python 2.x専用です。私はあまりにも空想的な何かを必要としません。値を読み取るだけで十分です。Exifリーディングライブラリ

+1

これはちょっとしたことですが、[Phil Harvey's exiftool](http://www.sno.phy。 queensu.ca/~phil/exiftool/)を '-json -fast - @ argfile'オプション付きのサブプロセスを使ってPythonから削除します。シンプルで完全で、数千の画像をバッチで処理する必要がある場合は高速です(われわれのように)。 –

答えて

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

Ah。 PILがPython3 forkを持っていたことに気付かなかった。私はそれを試して、あなたに戻ってきます。 –

+0

この質問でこれをテストし、イメージをダウンロードして、ImageDescriptionを取得できますか? http://stackoverflow.com/questions/22173902/how-to-get-image-title-in-python-django – Clayton

5

は、pyexiv2 homepageは今Gexiv2を指す廃止の警告、libexiv2周りのGObject-イントロスペクションベースのラッパーを持っていますPython 3.xのサポートのために(同じライブラリpyexiv2がラップしています)。

残念ながら、Gexiv2のインストールはまだ苦しいですし、これまで私はUbuntu Preciseで動作させることができませんでした。(libsが古くなっているように見えます。 Python 3でEXIFタグを読み取るのにPILは依然として最適なオプションです。

+0

gexiv2へのあなたのリンクは死んでいるようです。 –

+0

ありがとうございます - 今すぐ修正する必要があります –

+0

うわー、それは速かった! –

関連する問題