imghdr
— Определить тип изображения¶
Исходный код: Lib/imghdr.py.
Не рекомендуется, начиная с версии 3.11: Модуль imghdr
устарел (подробности и альтернативы см. в PEP 594).
Модуль imghdr
определяет тип изображения, содержащегося в файле или потоке байтов.
Модуль imghdr
определяет следующую функцию:
-
imghdr.
what
(file, h=None)¶ Проверяет данные изображения, содержащиеся в файле с именем file, и возвращает строку, описывающую тип изображения. Если указано необязательное h, аргумент file игнорируется, и предполагается, что h содержит поток байтов для проверки.
Изменено в версии 3.6: Принимает path-like object.
Распознаются следующие типы изображений, перечисленные ниже с указанием возвращаемого значения из what()
:
Значение |
Формат изображения |
---|---|
|
Файлы SGI ImgLib |
|
Файлы GIF 87a и 89a |
|
Портативные растровые файлы |
|
Портативные файлы Graymap |
|
Портативные файлы Pixmap |
|
Файлы TIFF |
|
Растровые файлы Солнца |
|
X Растровые файлы |
|
Данные JPEG в форматах JFIF или Exif |
|
BMP-файлы |
|
Портативная сетевая графика |
|
WebP-файлы |
|
Файлы OpenEXR |
Добавлено в версии 3.5: Добавлены форматы exr и webp.
Вы можете расширить список типов файлов, которые может распознать imghdr
, добавив к этой переменной:
-
imghdr.
tests
¶ Список функций, выполняющих отдельные тесты. Каждая функция принимает два аргумента: байт-поток и открытый файлоподобный объект. Если функция
what()
вызывается с байт-потоком, то файлоподобный объект будетNone
.Функция тестирования должна вернуть строку, описывающую тип изображения, если тестирование прошло успешно, или
None
, если оно не удалось.
Пример:
>>> import imghdr
>>> imghdr.what('bass.gif')
'gif'