imghdr モジュールはファイルやバイトストリームに含まれる画像の形式を決定します。
imghdr モジュールは次の関数を定義しています:
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 が認識できるファイル形式のリストを拡張できます:
個別のテストを行う関数のリスト。それぞれの関数は二つの引数をとります: バイトストリームとオープンされたファイルのようにふるまうオブジェクト。 what() がバイトストリームとともに呼び出されたときは、ファイルのようにふるまうオブジェクトは None でしょう。
テストが成功した場合は、テスト関数は画像形式を表す文字列を返すべきです。あるいは、失敗した場合は None を返すべきです。
例:
>>> import imghdr
>>> imghdr.what('/tmp/bass.gif')
'gif'