https://github.com/answerdotai/imghdr2
imghdr from python stdlib
https://github.com/answerdotai/imghdr2
Last synced: 7 days ago
JSON representation
imghdr from python stdlib
- Host: GitHub
- URL: https://github.com/answerdotai/imghdr2
- Owner: AnswerDotAI
- License: other
- Created: 2024-04-29T03:36:31.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-04-29T04:24:55.000Z (almost 2 years ago)
- Last Synced: 2025-10-02T07:29:57.482Z (4 months ago)
- Language: Python
- Homepage:
- Size: 7.81 KB
- Stars: 2
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
README
:mod:`imghdr2` --- Determine the type of an image
--------------
The :mod:`imghdr2` module determines the type of image contained in a file or
byte stream. It was originally ``imghdr`` in the Python standard library, but is now
deprecated. This module is a drop-in replacement for the original, with the same API.
Install with ``pip install imghdr2``.
The :mod:`imghdr2` module defines the following function:
.. function:: 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.
The following image types are recognized, as listed below with the return value
from :func:`what`:
+------------+-----------------------------------+
| Value | Image format |
+============+===================================+
| ``'rgb'`` | SGI ImgLib Files |
+------------+-----------------------------------+
| ``'gif'`` | GIF 87a and 89a Files |
+------------+-----------------------------------+
| ``'pbm'`` | Portable Bitmap Files |
+------------+-----------------------------------+
| ``'pgm'`` | Portable Graymap Files |
+------------+-----------------------------------+
| ``'ppm'`` | Portable Pixmap Files |
+------------+-----------------------------------+
| ``'tiff'`` | TIFF Files |
+------------+-----------------------------------+
| ``'rast'`` | Sun Raster Files |
+------------+-----------------------------------+
| ``'xbm'`` | X Bitmap Files |
+------------+-----------------------------------+
| ``'jpeg'`` | JPEG data in JFIF or Exif formats |
+------------+-----------------------------------+
| ``'bmp'`` | BMP files |
+------------+-----------------------------------+
| ``'png'`` | Portable Network Graphics |
+------------+-----------------------------------+
| ``'webp'`` | WebP files |
+------------+-----------------------------------+
| ``'exr'`` | OpenEXR Files |
+------------+-----------------------------------+
You can extend the list of file types :mod:`imghdr2` can recognize by appending
to ``tests``. It is a list of functions performing the individual tests. Each function takes two
arguments: the byte-stream and an open file-like object. When :func:`what` is
called with a byte-stream, the file-like object will be ``None``.
The test function should return a string describing the image type if the test
succeeded, or ``None`` if it failed.
Example::
>>> import imghdr2
>>> imghdr2.what('bass.gif')
'gif'