imghdr
— Визначити тип зображення¶
Вихідний код: Lib/imghdr.py
Застаріло з версії 3.11, буде видалено у версії 3.13: Модуль imghdr
є застарілим (перегляньте PEP 594 для деталей та альтернатив).
Модуль imghdr
визначає тип зображення, що міститься у файлі чи потоці байтів.
Модуль imghdr
визначає таку функцію:
- imghdr.what(file, h=None)¶
Tests the image data contained in the file named by file, and returns a string describing the image type. If optional h is provided, the file argument is ignored and h is assumed to contain the byte stream to test.
Змінено в версії 3.6: Приймає path-like object.
Розпізнаються наведені нижче типи зображень зі значенням, що повертається з what()
:
Значення |
Формат зображення |
---|---|
|
Файли SGI ImgLib |
|
Файли GIF 87a та 89a |
|
Портативні растрові файли |
|
Портативні файли Graymap |
|
Портативні файли Pixmap |
|
Файли TIFF |
|
Растрові файли Sun |
|
Файли X Bitmap |
|
Дані JPEG у форматах JFIF або Exif |
|
файли BMP |
|
Портативна мережева графіка |
|
Файли WebP |
|
Файли OpenEXR |
Нове в версії 3.5: Додано формати exr і webp.
Ви можете розширити список типів файлів, які imghdr
може розпізнати, додавши до цієї змінної:
- imghdr.tests¶
Перелік функцій, які виконують окремі тести. Кожна функція приймає два аргументи: потік байтів і відкритий файлоподібний об’єкт. Коли
what()
викликається потоком байтів, файлоподібний об’єкт матиме значенняNone
.Функція тестування має повертати рядок із описом типу зображення, якщо тест пройшов успішно, або
None
, якщо він не вдався.
Приклад:
>>> import imghdr
>>> imghdr.what('bass.gif')
'gif'