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

ソースコード: Lib/

Deprecated since version 3.11, will be removed in version 3.13: The imghdr module is deprecated (see PEP 594 for details and alternatives).

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

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

imghdr.what(file, h=None)

Test the image data contained in the file named file and return a string describing the image type. If h is provided, the file argument is ignored and h is assumed to contain the byte stream to test.

バージョン 3.6 で変更: path-like object を受け入れるようになりました。

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

Image format


SGI ImgLib Files


GIF 87a and 89a Files


Portable Bitmap Files


Portable Graymap Files


Portable Pixmap Files


TIFF Files


Sun Raster Files


X Bitmap Files


JPEG data in JFIF or Exif formats


BMP files


Portable Network Graphics


WebP files


OpenEXR Files

Added in version 3.5: フォーマット*exr*と*webp*が追加されました.

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


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

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


>>> import imghdr
>>> imghdr.what('bass.gif')