22.7. 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=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.

Berubah pada versi 3.6: Menerima sebuah path-like object

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

Nilai

Image format

'rgb'

SGI ImgLib Files

'gif'

GIF 87a and 89a Files

'pbm'

Berkas Portable Bitmap

'pgm'

Berkas Portable Graymap

'ppm'

Berkas Portable Pixmap

'tiff'

Berkas TIFF

'rast'

Sun Raster Files

'xbm'

X Bitmap Files

'jpeg'

JPEG data in JFIF or Exif formats

'bmp'

Berkas BMP

'png'

Portable Network Graphics

'webp'

Berkas WebP

'exr'

Berkas OpenEXR

Baru pada versi 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 None if it failed.

Contoh:

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