python根据bytes判断图片格式
hello,大家好,我今天又来提问了。各位大佬知道怎么用python根据图片的bytes判断图片格式吗,我有一个文件夹,里面有很多文件,都是图片,但是没有.jpg,.gif那些。能不能判断图片的
格式啊?
代码:
import os
files = os.listdir('./test/')
for file in files:
with open(file,'wb') as f:
content = f.read()
# 至于下面的代码就没思路了。
文件都是有后缀的,只是你电脑设置影藏了而已,用python读取文件名,直接看后缀就好了。 本帖最后由 yhhpf 于 2020-8-25 16:15 编辑
##使用字典来记录并返回每个类型的文件个数
import os
file_list = os.listdir(os.curdir)#赋值文件名列表为当前目录
type_dict =dict()
print(file_list)
for each_name in file_list:
if os.path.isdir(each_name):
type_dict.setdefault('文件夹',0)
type_dict['文件夹'] += 1
else:
ext = os.path.splitext(each_name)
type_dict.setdefault(ext,0)
type_dict += 1
for each_type in type_dict:
print('该文件夹下共有类型为【%s】的文件%s个' % (each_type,type_dict))
以前课程里就有类似的。
输出:
该文件夹下共有类型为【.py】的文件45个
该文件夹下共有类型为【.xlsx】的文件5个
该文件夹下共有类型为【.jpg】的文件3个
该文件夹下共有类型为【.ico】的文件1个
该文件夹下共有类型为【.pkl】的文件1个
该文件夹下共有类型为【】的文件1个
该文件夹下共有类型为【.txt】的文件5个
该文件夹下共有类型为【.spec】的文件2个
该文件夹下共有类型为【.png】的文件3个
该文件夹下共有类型为【文件夹】的文件2个
都有后缀,只是自己隐藏了,这里打开下就行
https://xxx.ilovefishc.com/album/202005/18/134028ubtgeyabcpzpuvpa.png
然后通过 os.path模块的 splitext 分离文件名与扩展名,判断格式即可
https://xact02.baidupcs.com/file/da537925bta4bb4a7d8ed9f023b47f44?bkt=en-2d9e6f81f9f5bca09df8e8c2b6cfb7d6182ea352f9ba781747e3c3614be6337e8523e78d029df4f1e82372f99357150cc4515b78a300bab8e42ff66a4360b47e&fid=1572116417-250528-711451752407430&time=1598343442&sign=FDTAXUGERLQlBHSKfW-DCb740ccc5511e5e8fedcff06b081203-Q4MHQmo%2FvsuC1OTzdQrzunCT2nQ%3D&to=126&size=54137&sta_dx=54137&sta_cs=0&sta_ft=png&sta_ct=0&sta_mt=0&fm2=MH%2CXian%2CAnywhere%2C%2Cguangdong%2Cct&ctime=1598343434&mtime=1598343434&resv0=-1&resv1=0&resv2=rlim&resv3=5&resv4=54137&vuk=1572116417&iv=0&htype=&randtype=&newver=1&newfm=1&secfm=1&flow_ver=3&pkey=en-07be538819072ddb4028e77101d98a207cb95393b47f2b0afe739f4eb7a1ea243618bd4715abd1b7488d9e3d043964b9e72e0e2c29b43a87305a5e1275657320&sl=68616270&expires=8h&rt=pr&r=653592547&vbdid=2489923540&fin=1.png&fn=1.png&rtype=1&dp-logid=5512440696708544203&dp-callid=0.1&hps=1&tsl=200&csl=200&fsl=-1&csign=iinvouH64fDhQmv%2B4uglLSl5T50%3D&so=0&ut=6&uter=4&serv=0&uc=2746764315&ti=8f692c02a37bcacc62c90cb81787a5df9b6d78da88bdfb8d&hflag=30&adg=c_2c90fc0ea02cc9e57912516cb7d11a89&reqlabel=250528_f_ee3f7647d3072415558a20ad8174ceca_-1_651c696b69b99128164c31e176f8ffe3&by=themis https://blog.csdn.net/hwlzs/article/details/84810001?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~all~first_rank_v2~rank_v25-1-84810001.nonecase&utm_term=python%20%E5%88%A4%E6%96%AD%E5%9B%BE%E7%89%87%E6%A0%BC%E5%BC%8F
https://www.baidu.com/link?url=peYirDHIotctCl_uFnu_78koCsAKj4ZVktzPQ1Ne6AUdDutXzXCsRKRz7ImF1ohJ&wd=&eqid=8cd5587700001dde000000035f44c733
楼主是意思通过字节流来判断,找规律呗,后缀删掉,也是打印出这些,前面匹配的就知道是哪个类型了 聂嘉辉 发表于 2020-8-25 16:17
菜单点查看,把文件扩展名勾起来,你这些感觉不是图片格式的。 怎么看回复,都没理解楼主的意思呢。。。。。。。。。 疾风怪盗 发表于 2020-8-25 16:23
怎么看回复,都没理解楼主的意思呢。。。。。。。。。
你看你代码里...已经有输入文件名了...那还再通过字节流判断后缀...{:10_250:} yhhpf 发表于 2020-8-25 16:25
你看你代码里...已经有输入文件名了...那还再通过字节流判断后缀...
要判断,这不是先找找规律么?删掉后缀也可以打印出字节流,先试试呗
页:
[1]