imghdr
— Определение типа изображения¶
Исходный код: 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' |
Portable Network Graphics |
'webp' |
WebP Файлы |
'exr' |
OpenEXR Файлы |
Добавлено в версии 3.5: Были добавлены форматы exr и webp.
Вы можете расширить список типов файлов, которые imghdr
может признать,
добавив этой переменной:
-
imghdr.
tests
¶ Список функций, выполняющих отдельные тесты. Каждая функция принимает два аргумента: байтовый поток и открытый файлообразный объект. При вызове
what()
с байтовым потоком объект, похожий на файл, будетNone
.Тестовая функция должна возвратить строку, описывающую тип образа, если тест выполнен успешно, или
None
, если он не удался.
Пример:
>>> import imghdr
>>> imghdr.what('bass.gif')
'gif'