imghdr — Determina o tipo de uma imagem

Código-fonte: Lib/

Descontinuado desde a versão 3.11, será removido na versão 3.13: 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(file, h=None)

Test the image data contained in the file named file and return a string describing the image type. If h is provided, the file argument is ignored and h is assumed to contain the byte stream to test.

Alterado na versão 3.6: Aceita um objeto caminho ou similar.

The following image types are recognized, as listed below with the return value from what():


Image format


SGI ImgLib Files


GIF 87a and 89a Files


Portable Bitmap Files


Portable Graymap Files


Portable Pixmap Files


Arquivos TIFF


Sun Raster Files


X Bitmap Files


JPEG data in JFIF or Exif formats


BMP files


Portable Network Graphics


WebP files


OpenEXR Files

Adicionado na versão 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:


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.

A função de teste deve retornar uma string descrevendo o tipo de imagem, se o teste for bem-sucedido, ou None, se falhar.


>>> import imghdr
>>> imghdr.what('bass.gif')