博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python 探测图片文件类型
阅读量:5944 次
发布时间:2019-06-19

本文共 1143 字,大约阅读时间需要 3 分钟。

探测图片类型

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

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 Imageimg = Image.open(filename)print(img.format)  # 'JPEG'

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

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

转载地址:http://sbzxx.baihongyu.com/

你可能感兴趣的文章
Linux下php连接sql server 2008
查看>>
python字符串格式化
查看>>
关于html和CSS的几个基本知识点
查看>>
Fiddler (三) Composer创建和发送HTTP Request
查看>>
C语言 多维数组和指针
查看>>
DotNetBar的使用—(界面风格)
查看>>
2.3系列系统中不支持SimpleDateFormat作字段被序列化
查看>>
DJANGO MODEL FORMSETS IN DETAIL AND THEIR ADVANCED USAGE
查看>>
ADO.NET复习——自己编写SqlHelper类
查看>>
库函数strlen源码重现及注意问题
查看>>
《实例化需求》读书笔记
查看>>
常用Java8语法小结
查看>>
ZJOI2019 Day2 游记
查看>>
ccf题库中2015年12月2号消除类游戏
查看>>
WinForm窗体间如何传值
查看>>
Ado.Net 连接数据库
查看>>
java多线程系列1:Sychronized关键字
查看>>
解释性的语言vs编译性语言
查看>>
codevs 1105 过河
查看>>
Java三大主流框架概述
查看>>