kbe/src/lib/python/Doc/library/imghdr.rst
imghdr --- Determine the type of an image.. module:: imghdr :synopsis: Determine the type of image contained in a file or byte stream.
Source code: :source:Lib/imghdr.py
The :mod:imghdr module determines the type of image contained in a file or
byte stream.
The :mod:imghdr module defines the following function:
.. function:: what(filename, h=None)
Tests the image data contained in the file named by filename, and returns a string describing the image type. If optional h is provided, the filename is ignored and h is assumed to contain the byte stream to test.
.. versionchanged:: 3.6
Accepts a :term:path-like object.
The following image types are recognized, as listed below with the return value
from :func: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 |
+------------+-----------------------------------+
| 'webp' | WebP files |
+------------+-----------------------------------+
| 'exr' | OpenEXR Files |
+------------+-----------------------------------+
.. versionadded:: 3.5 The exr and webp formats were added.
You can extend the list of file types :mod:imghdr can recognize by appending
to this variable:
.. data:: tests
A list of functions performing the individual tests. Each function takes two
arguments: the byte-stream and an open file-like object. When :func:what is
called with a byte-stream, the file-like object will be None.
The test function should return a string describing the image type if the test
succeeded, or None if it failed.
Example::
import imghdr imghdr.what('bass.gif') 'gif'