imghdr — 确定图像类型

源代码: Lib/imghdr.py

自版本 3.11 起已弃用,将在版本 3.13 中移除: The imghdr 模块已弃用(有关详细信息和替代方案,请参见 PEP 594)。


The imghdr 模块确定文件或字节流中包含的图像类型。

The imghdr 模块定义了以下函数

imghdr.what(file, h=None)

测试包含在名为 file 的文件中的图像数据,并返回一个字符串,描述图像类型。如果提供了 h,则忽略 file 参数,并假定 h 包含要测试的字节流。

在版本 3.6 中更改: 接受 路径类对象

以下图像类型被识别,如下所示,以及 what() 的返回值

图像格式

'rgb'

SGI ImgLib 文件

'gif'

GIF 87a 和 89a 文件

'pbm'

便携式位图文件

'pgm'

便携式灰度图文件

'ppm'

便携式像素图文件

'tiff'

TIFF 文件

'rast'

Sun 光栅文件

'xbm'

X 位图文件

'jpeg'

JFIF 或 Exif 格式的 JPEG 数据

'bmp'

BMP 文件

'png'

便携式网络图形

'webp'

WebP 文件

'exr'

OpenEXR 文件

在版本 3.5 中添加: 添加了 exrwebp 格式。

您可以通过附加到此变量来扩展 imghdr 可以识别的文件类型列表

imghdr.tests

执行单个测试的函数列表。每个函数都接受两个参数:字节流和一个打开的文件类对象。当 what() 使用字节流调用时,文件类对象将为 None

如果测试成功,测试函数应返回一个描述图像类型的字符串,如果失败,则返回 None

示例

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