imghdr — Визначити тип зображення

Вихідний код: Lib/imghdr.py

Застаріло починаючи з версії 3.11: Модуль imghdr є застарілим (перегляньте PEP 594 для деталей та альтернатив).


Модуль imghdr визначає тип зображення, що міститься у файлі чи потоці байтів.

Модуль imghdr визначає таку функцію:

imghdr.what(filename, h=None)

Tests the image data contained in the file named by filename, and returns a string describing the image type. If optional h is provided, the filename is ignored and h is assumed to contain the byte stream to test.

Змінено в версії 3.6: Приймає path-like object.

Розпізнаються наведені нижче типи зображень зі значенням, що повертається з what():

Значення

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

'rgb'

Файли SGI ImgLib

'gif''

Файли GIF 87a та 89a

'pbm'

Портативні растрові файли

'pgm'

Портативні файли Graymap

'ppm'

Портативні файли Pixmap

'tiff'

Файли TIFF

'rast'

Растрові файли Sun

'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'