``imghdr`` --- Determine the type of an image ********************************************* The ``imghdr`` module determines the type of image contained in a file or byte stream. The ``imghdr`` module defines the following function: imghdr.what(filename[, h]) 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. The following image types are recognized, as listed below with the return value from ``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 | +--------------+-------------------------------------+ New in version 2.5: Exif detection. You can extend the list of file types ``imghdr`` can recognize by appending to this variable: imghdr.tests A list of functions performing the individual tests. Each function takes two arguments: the byte-stream and an open file-like object. When ``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('/tmp/bass.gif') 'gif'