imghdr — Determine the type of an image
Source code: Lib/imghdr.py
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  |  
|---|---|
  |  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  |  
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 beNone.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'
    © 2001–2020 Python Software Foundation
Licensed under the PSF License.
    https://docs.python.org/2.7/library/imghdr.html