17db96d56Sopenharmony_ci:mod:`imghdr` --- Determine the type of an image 27db96d56Sopenharmony_ci================================================ 37db96d56Sopenharmony_ci 47db96d56Sopenharmony_ci.. module:: imghdr 57db96d56Sopenharmony_ci :synopsis: Determine the type of image contained in a file or byte stream. 67db96d56Sopenharmony_ci :deprecated: 77db96d56Sopenharmony_ci 87db96d56Sopenharmony_ci**Source code:** :source:`Lib/imghdr.py` 97db96d56Sopenharmony_ci 107db96d56Sopenharmony_ci.. deprecated-removed:: 3.11 3.13 117db96d56Sopenharmony_ci The :mod:`imghdr` module is deprecated 127db96d56Sopenharmony_ci (see :pep:`PEP 594 <594#imghdr>` for details and alternatives). 137db96d56Sopenharmony_ci 147db96d56Sopenharmony_ci-------------- 157db96d56Sopenharmony_ci 167db96d56Sopenharmony_ciThe :mod:`imghdr` module determines the type of image contained in a file or 177db96d56Sopenharmony_cibyte stream. 187db96d56Sopenharmony_ci 197db96d56Sopenharmony_ciThe :mod:`imghdr` module defines the following function: 207db96d56Sopenharmony_ci 217db96d56Sopenharmony_ci 227db96d56Sopenharmony_ci.. function:: what(file, h=None) 237db96d56Sopenharmony_ci 247db96d56Sopenharmony_ci Tests the image data contained in the file named by *file*, and returns a 257db96d56Sopenharmony_ci string describing the image type. If optional *h* is provided, the *file* 267db96d56Sopenharmony_ci argument is ignored and *h* is assumed to contain the byte stream to test. 277db96d56Sopenharmony_ci 287db96d56Sopenharmony_ci .. versionchanged:: 3.6 297db96d56Sopenharmony_ci Accepts a :term:`path-like object`. 307db96d56Sopenharmony_ci 317db96d56Sopenharmony_ciThe following image types are recognized, as listed below with the return value 327db96d56Sopenharmony_cifrom :func:`what`: 337db96d56Sopenharmony_ci 347db96d56Sopenharmony_ci+------------+-----------------------------------+ 357db96d56Sopenharmony_ci| Value | Image format | 367db96d56Sopenharmony_ci+============+===================================+ 377db96d56Sopenharmony_ci| ``'rgb'`` | SGI ImgLib Files | 387db96d56Sopenharmony_ci+------------+-----------------------------------+ 397db96d56Sopenharmony_ci| ``'gif'`` | GIF 87a and 89a Files | 407db96d56Sopenharmony_ci+------------+-----------------------------------+ 417db96d56Sopenharmony_ci| ``'pbm'`` | Portable Bitmap Files | 427db96d56Sopenharmony_ci+------------+-----------------------------------+ 437db96d56Sopenharmony_ci| ``'pgm'`` | Portable Graymap Files | 447db96d56Sopenharmony_ci+------------+-----------------------------------+ 457db96d56Sopenharmony_ci| ``'ppm'`` | Portable Pixmap Files | 467db96d56Sopenharmony_ci+------------+-----------------------------------+ 477db96d56Sopenharmony_ci| ``'tiff'`` | TIFF Files | 487db96d56Sopenharmony_ci+------------+-----------------------------------+ 497db96d56Sopenharmony_ci| ``'rast'`` | Sun Raster Files | 507db96d56Sopenharmony_ci+------------+-----------------------------------+ 517db96d56Sopenharmony_ci| ``'xbm'`` | X Bitmap Files | 527db96d56Sopenharmony_ci+------------+-----------------------------------+ 537db96d56Sopenharmony_ci| ``'jpeg'`` | JPEG data in JFIF or Exif formats | 547db96d56Sopenharmony_ci+------------+-----------------------------------+ 557db96d56Sopenharmony_ci| ``'bmp'`` | BMP files | 567db96d56Sopenharmony_ci+------------+-----------------------------------+ 577db96d56Sopenharmony_ci| ``'png'`` | Portable Network Graphics | 587db96d56Sopenharmony_ci+------------+-----------------------------------+ 597db96d56Sopenharmony_ci| ``'webp'`` | WebP files | 607db96d56Sopenharmony_ci+------------+-----------------------------------+ 617db96d56Sopenharmony_ci| ``'exr'`` | OpenEXR Files | 627db96d56Sopenharmony_ci+------------+-----------------------------------+ 637db96d56Sopenharmony_ci 647db96d56Sopenharmony_ci.. versionadded:: 3.5 657db96d56Sopenharmony_ci The *exr* and *webp* formats were added. 667db96d56Sopenharmony_ci 677db96d56Sopenharmony_ci 687db96d56Sopenharmony_ciYou can extend the list of file types :mod:`imghdr` can recognize by appending 697db96d56Sopenharmony_cito this variable: 707db96d56Sopenharmony_ci 717db96d56Sopenharmony_ci 727db96d56Sopenharmony_ci.. data:: tests 737db96d56Sopenharmony_ci 747db96d56Sopenharmony_ci A list of functions performing the individual tests. Each function takes two 757db96d56Sopenharmony_ci arguments: the byte-stream and an open file-like object. When :func:`what` is 767db96d56Sopenharmony_ci called with a byte-stream, the file-like object will be ``None``. 777db96d56Sopenharmony_ci 787db96d56Sopenharmony_ci The test function should return a string describing the image type if the test 797db96d56Sopenharmony_ci succeeded, or ``None`` if it failed. 807db96d56Sopenharmony_ci 817db96d56Sopenharmony_ciExample:: 827db96d56Sopenharmony_ci 837db96d56Sopenharmony_ci >>> import imghdr 847db96d56Sopenharmony_ci >>> imghdr.what('bass.gif') 857db96d56Sopenharmony_ci 'gif' 867db96d56Sopenharmony_ci 87