imghdr — Determine the type of an image¶
Source code: Lib/imghdr.py
Deprecated since version 3.11: The imghdr module is deprecated
(see PEP 594 for details and alternatives).
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=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. - Changed in version 3.6: Accepts a path-like object. 
The following image types are recognized, as listed below with the return value
from what():
| Value | 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 | 
New in version 3.5: The exr and webp formats were added.
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 - Noneif it failed.
Example:
>>> import imghdr
>>> imghdr.what('bass.gif')
'gif'