22.7. imghdr
— 画像の形式を決定する¶
ソースコード: Lib/imghdr.py
imghdr
モジュールはファイルやバイトストリームに含まれる画像の形式を決定します。
imghdr
モジュールは次の関数を定義しています:
-
imghdr.
what
(filename, h=None)¶ filename という名前のファイル内の画像データをテストし、画像形式を表す文字列を返します。オプションの h が与えられた場合は、filename は無視され、テストするバイトストリームを含んでいると h は仮定されます。
バージョン 3.6 で変更: path-like object を受け入れるようになりました。
以下に 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'