19.9 imghdr -- 画像の形式を決定する

imghdrモジュールはファイルやバイトストリームに含まれる画像の形式を決定します。

imghdrモジュールは次の関数を定義しています:

what( filename[, h])
filenameという名前のファイル内の画像データをテストし、画像形式を表す文字列を返します。オプションのhが与えられた場合は、filenameは無視され、テストするバイトストリームを含んでいるとhは仮定されます。

以下にwhat()からの戻り値とともにリストするように、次の画像形式が認識されます:

Value Image format
'rgb' SGI ImgLib Files
'gif' GIF 87a and 89a Files
'pbm' Portable Bitmap Files
'pgm' Portable Graymap Files
'ppm' Portable Pixmap Files
'tiff' TIFF Files
'rast' Sun Raster Files
'xbm' X Bitmap Files
'jpeg' JPEG data in JFIF or Exif formats
'bmp' BMP files
'png' Portable Network Graphics

バージョン 2.5 で 新たに追加 された仕様: Exif の検出

この変数に追加することで、あなたはimghdrが認識できるファイル形式のリストを拡張できます:

tests
個別のテストを行う関数のリスト。それぞれの関数は二つの引数をとります: バイトストリームとオープンされたファイルのようにふるまうオブジェクト。what()がバイトストリームとともに呼び出されたときは、ファイルのようにふるまうオブジェクトはNoneでしょう。

テストが成功した場合は、テスト関数は画像形式を表す文字列を返すべきです。あるいは、失敗した場合はNoneを返すべきです。

例:

>>> import imghdr
>>> imghdr.what('/tmp/bass.gif')
'gif'
ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。