# `imghdr` --- 推測圖片種類

原始碼： Lib/imghdr.py

Deprecated since version 3.11, will be removed in version 3.13: `imghdr` 模組 (module) 即將被棄用（詳情與替代方案見 PEP 594）。

The `imghdr` module determines the type of image contained in a file or byte stream.

The `imghdr` module defines the following function:

imghdr.what(file, h=None)

  Test the image data contained in the file named file and return a string describing the image type. If h is provided, the file argument is ignored and h is assumed to contain the byte stream to test.

  在 3.6 版的變更: Accepts a path-like object.

The following image types are recognized, as listed below with the return value from `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 檔案
`'rast'` | Sun Raster Files
`'xbm'` | X Bitmap Files
`'jpeg'` | JPEG data in JFIF or Exif formats
`'bmp'` | BMP 檔案
`'png'` | Portable Network Graphics
`'webp'` | WebP 檔案
`'exr'` | OpenEXR 檔案

在 3.5 版被加入: 新增 exr 與 webp 格式。

You can extend the list of file types `imghdr` can recognize by appending to this variable:

imghdr.tests

  A list of functions performing the individual tests. Each function takes two arguments: the byte-stream and an open file-like object. When `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.

範例：

    >>> import imghdr
    >>> imghdr.what('bass.gif')
    'gif'