码迷,mamicode.com
首页 > 其他好文 > 详细

imghdr:检测图片的类型

时间:2020-03-25 23:01:16      阅读:78      评论:0      收藏:0      [点我收藏+]

标签:结构   mamicode   src   默认   pen   文件名   指定   类型   code   

imghdr专门用来查看图片的格式

import imghdr

t = imghdr.what(r"C:\Users\satori\Desktop\module\pic\1.png")
print(t)  # png

检测出图片是png格式的,可能有人觉得根据文件名后缀不就可以判断了吗。我们将图片的后缀改成jpg再来试试

import imghdr

t = imghdr.what(r"C:\Users\satori\Desktop\module\pic\1.jpg")
print(t)  # png

我们看到依旧是png格式,这是因为不同格式的图片的结构不一样,即使把后缀名改了,但是图片的结构还是原来的png格式的

另外我们看到这里接收一个文件名,但是我们从网上获取的一般是字节流,那么可不可以直接对字节流进行判断呢?答案是可以的。

import imghdr

f = open(r"C:\Users\satori\Desktop\module\pic\1.jpg", "rb")
# what可以接收两个参数,第一个是文件名,必传的。第二个是字节流,默认为None
# 所以我们之前只传递一个文件名即可,会根据文件名读取指定文件、然后判断
# 但如果是字节流,则通过第二个参数传递。并且一旦指定了字节流,那么就不会根据文件名来读取文件了
# 所以第一个参数指定为None即可,因为我们说它是必传的。当然传其它的也可以,因为指定了字节流的话、第一个参数就不管了
t = imghdr.what(None, f.read())
print(t)  # png

依旧得到了png格式。

imghdr能检测的图片格式有以下几种:

技术图片

imghdr:检测图片的类型

标签:结构   mamicode   src   默认   pen   文件名   指定   类型   code   

原文地址:https://www.cnblogs.com/traditional/p/12570989.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!