imghdr --- 推測圖片種類

原始碼:Lib/imghdr.py

自從版本 3.11 後不推薦使用,將會自版本 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)

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 版的變更: 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 版新加入: 新增 exrwebp 格式。

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'