22.7. imghdr --- 画像の形式を決定する¶
ソースコード: Lib/imghdr.py
imghdr モジュールはファイルやバイトストリームに含まれる画像の形式を決定します。
imghdr モジュールは次の関数を定義しています:
- 
imghdr.what(filename, h=None)¶
- filename という名前のファイル内の画像データをテストし、画像形式を表す文字列を返します。オプションの h が与えられた場合は、filename は無視され、テストするバイトストリームを含んでいると h は仮定されます。 
以下に what() からの戻り値とともにリストするように、次の画像形式が認識されます:
| 値 | 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 | 
| 'webp' | WebP files | 
| 'exr' | OpenEXR Files | 
バージョン 3.5 で追加: フォーマット*exr*と*webp*が追加されました.
この変数に追加することで、あなたは imghdr が認識できるファイル形式のリストを拡張できます:
- 
imghdr.tests¶
- 個別のテストを行う関数のリスト。それぞれの関数は二つの引数をとります: バイトストリームとオープンされたファイルのようにふるまうオブジェクト。 - what()がバイトストリームとともに呼び出されたときは、ファイルのようにふるまうオブジェクトは- Noneでしょう。- テストが成功した場合は、テスト関数は画像形式を表す文字列を返すべきです。あるいは、失敗した場合は - Noneを返すべきです。
以下はプログラム例です:
>>> import imghdr
>>> imghdr.what('bass.gif')
'gif'
