Документация Python неофициальный перевод

imghdr – Определение типа изображенияimghdr – Determine the type of an image

Исходный код: Lib/imghdr.py


Модуль imghdr определяет тип изображения, содержащегося в файле или потоке байтов.

Модуль imghdr определяет следующую функцию:

imghdr.what(filename, h=None)

Проверяет данные изображения, содержащиеся в файле с именем filename, и возвращает строку, описывающую тип изображения. Если указан необязательный h, то filename игнорируется и считается, что h содержит поток байтов для проверки.

Изменено в версии 3.6: Принимает объект, подобный пути.

Распознаются следующие типы изображений, перечисленные ниже вместе с возвращаемым значением от what():

Значение

Формат изображения

'rgb'

Файлы SGI ImgLib

'gif'

Файлы GIF 87a и 89a

'pbm'

Файлы Portable Bitmap

'pgm'

Файлы Portable Graymap

'ppm'

Файлы Portable Pixmap

'tiff'

Файлы TIFF

'rast'

Файлы Sun Raster

'xbm'

Файлы X Bitmap

'jpeg'

Данные JPEG в форматах JFIF или Exif

'bmp'

Файлы BMP

'png'

Портативная сетевая графика

'webp'

Файлы WebP

'exr'

Файлы OpenEXR

Новое в версии 3.5: Форматы exr и webp были добавлены.

Список типов файлов, распознаваемых imghdr, можно расширить, добавив в эту переменную:

imghdr.tests

Список функций, выполняющих отдельные тесты. Каждая функция принимает два аргумента: поток байтов и открытый файлоподобный объект. Когда what() вызывается с потоком байтов, файлоподобный объект будет None.

Тестовая функция должна возвращать строку с описанием типа изображения, если тест успешен, или None, если нет.

Пример:

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