Skip to main content

22.7. imghdr —确定图像的类型

源代码: Lib/imghdr.py


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

imghdr 模块定义以下功能:

imghdr.what(filename, h=None)

测试由 filename 命名的文件中包含的图像数据,并返回描述图像类型的字符串。如果提供了可选的 h,则忽略 filename,并假定 h 包含要测试的字节流。

在 3.6 版更改: 接受 path-like object

可以识别以下映像类型,如下所示,其中包含 what() 的返回值:

图像格式

'rgb'

SGI ImgLib文件

'gif'

GIF 87a和89a文件

'pbm'

便携式位图文件

'pgm'

便携式灰色图文件

'ppm'

便携式Pixmap文件

'tiff'

TIFF文件

'rast'

太阳光栅文件

'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'