imghdr — Определите тип изображения

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

Утратил актуальность с версии 3.11, будет удален в версии 3.13: Модуль imghdr устарел (подробности и альтернативные варианты см. в разделе PEP 594).


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

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

imghdr.what(file, h=None)

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

Изменено в версии 3.6: Принимает значение path-like object.

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

Ценность

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

'rgb'

Файлы SGI ImgLib

'gif'

Файлы GIF 87a и 89a

'pbm'

Переносимые растровые файлы

'pgm'

Переносимые файлы серых карт

'ppm'

Переносимые файлы пиксельных изображений

'tiff'

Файлы в формате TIFF

'rast'

Растровые файлы Sun

'xbm'

X Растровых файлов

'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'
Вернуться на верх