21.8. imghdr — 确定图像的类型 — Python 文档

来自菜鸟教程
Python/docs/2.7/library/imghdr
跳转至:导航、​搜索

21.8. 图像 — 确定图像的类型

源代码: :source:`Lib/imghdr.py`



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

imghdr 模块定义了以下函数:

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

以下图像类型被识别,如下所列,返回值来自 what()

价值 图片格式
'rgb' SGI ImgLib 文件
'gif' GIF 87a 和 89a 文件
'pbm' 便携式位图文件
'pgm' 便携式灰度图文件
'ppm' 便携式像素图文件
'tiff' TIFF 文件
'rast' 太阳光栅文件
'xbm' X 位图文件
'jpeg' JFIF 或 Exif 格式的 JPEG 数据
'bmp' BMP 文件
'png' 便携式网络图形

2.5 版新功能:Exif 检测。


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

imghdr.tests

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

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

例子:

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