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'
