资讯专栏INFORMATION COLUMN

Python 探测图片文件类型

U2FsdGVkX1x / 3035人阅读

摘要:探测图片类型今天遇到一个小问题,如何探测图片的文件类型。总结如下模块的地址在这,可以用来方便地探测文件类型,使用示例如下,可以方便地探测一个文件或是字节流文件。提供的标准库可以用来确定图片的类型,参见这里。如下接受文件名作为参数。

探测图片类型

今天遇到一个小问题,如何探测图片的文件类型。总结如下:

python magic

magic 模块的github地址在这, 可以用来方便地探测文件类型,使用示例如下,可以方便地探测一个文件或是字节流文件。

>>> import magic
>>> magic.from_file("testdata/test.pdf")
"PDF document, version 1.2"
>>> magic.from_buffer(open("testdata/test.pdf").read(1024))
"PDF document, version 1.2"
>>> magic.from_file("testdata/test.pdf", mime=True)
"application/pdf"
imghdr

python提供的标准库 imghdr 可以用来确定图片的类型,参见这里。
API如下:

imghdr.what(filename[, h])
# 接受文件名作为参数。如果提供了字节流作为第二个参数,那么第一个文件名参数会被忽略,从而探测字节流的图片类型

简单的例子如下:

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

可能的返回类型如下:

"rgb": SGI ImgLib Files

"gif": GIF 87a and 89a Files

"pbm": Portable Bitmap Files

"pgm": Portable Graymap Files

"ppm": Portable Pixmap Files

"tiff": TIFF Files

"rast": Sun Raster Files

"xbm": X Bitmap Files

"jpeg": JPEG data in JFIF or Exif formats

"bmp": BMP files

"png": Portable Network Graphics

PIL.Image

使用PIL也可以检测图片类型,例子如下:

from PIL import Image

img = Image.open(filename)
print(img.format)  # "JPEG"

而且可以用 PIL 方便地转化图片格式,它会自动检测后缀以合适的格式保存:

import Image
im = Image.open("test.jpg")
im.save("test.tiff")  # or "test.tif"

# 或者手动指定格式
import Image
im = Image.open("file.png")
im.save("file.jpg", "JPEG")

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/44292.html

相关文章

  • 厉害了,利用深度学习开发老板探测

    摘要:整个工程中应用了深度学习框架来建立识别人脸的神经网络,和一个网络摄像头用来捕捉老板的人脸。所以,我用和编写了一段裁剪人脸图像的脚本,代码在这里下载偷拍到的人脸图像比我之前设想的更清楚识别人脸图像接下来,要用机器学习教会电脑识别老板的脸。 深度学习如果上班的时候想放松一下,或者直说想偷偷懒,看点和工作无关的网页,这时候万一老板突然出现在背后,会不会感到很难堪呢?有的浏览器设置了boss按键,手...

    YacaToy 评论0 收藏0
  • 中文维基百科文本数据获取与预处理

    摘要:下载数据方法使用官方的数据最新打包的中文文档下载地址是。中文维基数据繁简混杂大家都说存在这个问题,但的网站是将繁体中文和简体中文分开处理的,所以一直觉得从数据库到结构都应有方法将两者区分开,暂罢,待有空研究其数据时再议。 照例,先讲下环境,Mac OSX 10.11.2 ,Python 3.4.3。 下载数据 方法1:使用官方dump的xml数据 最新打包的中文文档下载地址是:http...

    loostudy 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<