2007-08-15 11:28:22 -03:00
|
|
|
:mod:`imghdr` --- Determine the type of an image
|
|
|
|
================================================
|
|
|
|
|
|
|
|
.. module:: imghdr
|
|
|
|
:synopsis: Determine the type of image contained in a file or byte stream.
|
|
|
|
|
2011-01-27 16:38:46 -04:00
|
|
|
**Source code:** :source:`Lib/imghdr.py`
|
|
|
|
|
|
|
|
--------------
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
The :mod:`imghdr` module determines the type of image contained in a file or
|
|
|
|
byte stream.
|
|
|
|
|
|
|
|
The :mod:`imghdr` module defines the following function:
|
|
|
|
|
|
|
|
|
2009-06-01 14:35:27 -03:00
|
|
|
.. function:: what(filename, h=None)
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
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 :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 |
|
|
|
|
+------------+-----------------------------------+
|
2014-05-25 05:45:37 -03:00
|
|
|
| ``'webp'`` | WebP files |
|
|
|
|
+------------+-----------------------------------+
|
2014-06-26 13:27:57 -03:00
|
|
|
| ``'exr'`` | OpenEXR Files |
|
|
|
|
+------------+-----------------------------------+
|
|
|
|
|
|
|
|
.. versionadded:: 3.5
|
|
|
|
The *exr* format was added.
|
2014-05-25 05:45:37 -03:00
|
|
|
|
|
|
|
.. versionchanged:: 3.5
|
|
|
|
The *webp* type was added.
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
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
|
2013-02-23 14:26:56 -04:00
|
|
|
>>> imghdr.what('bass.gif')
|
2007-08-15 11:28:22 -03:00
|
|
|
'gif'
|
|
|
|
|