22.7. imghdr – Определение типа изображения¶imghdr – Determine the type of an image
Исходный код: Lib/imghdr.py
Модуль imghdr определяет тип изображения, содержащегося в файле или
потоке байтов.
Модуль imghdr определяет следующую функцию:
-
imghdr.what(filename, h=None)¶ Проверяет данные изображения, содержащиеся в файле с именем filename, и возвращает строку, описывающую тип изображения. Если указан необязательный h, то filename игнорируется и считается, что h содержит поток байтов для проверки.
Распознаются следующие типы изображений, перечисленные ниже вместе с возвращаемым значением
от 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'