python判断文件类型
# 支持文件类型
# 用16进制字符串的目的是可以知道文件头是多少字节
# 各种文件头的长度不一样,少半2字符,长则8字符
def typeList():return {"3c68313ee689abe68f8f": 'html',"504b03040a0000000000": 'xlsx','504b0304140008080800': 'docx',"d0cf11e0a1b11ae10000": 'doc','2d2d204d7953514c2064': 'sql','ffd8ffe000104a464946': 'jpg','89504e470d0a1a0a0000': 'png','47494638396126026f01': 'gif','3c21444f435459504520': 'html','3c21646f637479706520': 'htm','48544d4c207b0d0a0942': 'css','2f2a21206a5175657279': 'js','255044462d312e350d0a': 'pdf',}# 字节码转16进制字符串
def bytes2hex(bytes):num = len(bytes)hexstr = u""for i in range(num):t = u"%x" % bytes[i]if len(t) % 2:hexstr += u"0"hexstr += treturn hexstr.upper()# 获取文件类型
def filetype(filename):binfile = open(filename, 'rb') # 必需二制字读取bins = binfile.read(20) # 提取20个字符binfile.close() # 关闭文件流bins = bytes2hex(bins) # 转码bins = bins.lower() # 小写print(bins)tl = typeList() # 文件类型ftype = 'unknown'for hcode in tl.keys():lens = len(hcode) # 需要的长度if bins[0:lens] == hcode:ftype = tl[hcode]breakif ftype == 'unknown': # 全码未找到,优化处理,码表取5位验证bins = bins[0:5]for hcode in tl.keys():if len(hcode) > 5 and bins == hcode[0:5]:ftype = tl[hcode]breakreturn ftype# 文件扫描,如果是目录,就将遍历文件,是文件就判断文件类型
def filescanner(path):if type(path) != type('a'): # 判断是否为字符串print('抱歉,你输入的不是一个字符串路径!')elif path.strip() == '': # 将两头的空格移除print('输入的路径为空!')elif not os.path.exists(path):print('输入的路径不存在!')elif os.path.isfile(path):if path.rfind('.') > 0:print('文件名:', os.path.split(path)[1])else:print('文件名中没有找到格式')path = filetype(path)print('解析文件判断格式:' + path)elif os.path.isdir(path):print('输入的路径指向的是目录,开始遍历文件')for p, d, fs in os.walk(path):print(os.path.split(p))for n in fs:n = n.split('.')print('\t' + n[0] + '\t' + n[1])if __name__ == '__main__':path = input('请输入要扫描的文件夹路径:')filescanner(path)
python判断文件类型相关推荐
- python 判断文件类型_python接口自动化(三十) 上传文件时自动判断文件类型(filetype)...
前言 如何判断一个文件的类型呢,判断这个文件是png还是jpg,还是MP3文件?filetype包是python用来判断文件类型的依赖包,github地址:https://github.com/h2n ...
- python判断文件类型:使用filetype
filetype作用 一个小巧自由开放Python开发包,主要用来获得文件类型. filetype支持版本: python2/python3 filetype安装: pip install filet ...
- python如何区分文件类型_python通过文件头判断文件类型
对于提供上传的服务器,需要对上传的文件进行过滤. 本文为大家提供了python通过文件头判断文件类型的方法,避免不必要的麻烦. 分享代码如下 import struct # 支持文件类型 # 用16进 ...
- python读取文件类型_python准确判断文件类型
判断文件类型在开发中非常常见的需求,怎样才能准确的判断文件类型呢?首先大家想到的是文件的后缀,但是非常遗憾的是这种方法是非常不靠谱的,因为文件的后缀是可以随意更改的,而大家都知道后缀在linux系统下 ...
- python文件的两种类型进制文件,Python之基于十六进制判断文件类型
#!/usr/bin/env python#-*- coding: utf-8 -*-#@Author : suk importstructfrom io importBytesIO#支持文件类型#用 ...
- python获取文件后缀_Python使用filetype精确判断文件类型 (文件类型获取)
filetype.py Small and dependency free Python package to infer file type and MIME type checking the m ...
- Python库 使用filetype精确判断文件类型
filetype判断文件类型 作用 一个小巧自由开放Python开发包,主要用来获得文件类型. 支持版本: python2/python3 安装: pip install filetype 功能特色 ...
- python中如何区分文件类型_python准确判断文件类型
判断文件类型在开发中非常常见的需求,怎样才能准确的判断文件类型呢?首先大家想到的是文件的后缀,但是非常遗憾的是这种方法是非常不靠谱的,因为文件的后缀是可以随意更改的,而大家都知道后缀在linux系统下 ...
- python如何区分文件类型_Python使用filetype精确判断文件类型
filetype.py Small and dependency free Python package to infer file type and MIME type checking the m ...
最新文章
- Linux 准确查找结构体定义位置
- mysql给root开启远程访问权限,修改root密码
- python3 tcp 文件传输源码
- 页面加载进度条改进版
- Android模拟器访问pc与网络的问题
- Python--day63--添加书籍
- 致openGauss社区用户的一封信
- futuretask java 并发请求_Java并发编程:Callable、Future和FutureTask
- 渐变虚框及边框滚动的实现
- mysql engine 外键_Mysql 外键设置
- CSDN 如何删除自己不用的分类(亲测有效!)
- 体验Unity2017.2.0f3进行Vuforia开发
- 【Linux】修改镜像源
- 分享一个WIN10可用的桌面图标栅栏管理插件Fences的破解版
- win7休眠的开启与关闭方法
- win10开机内存占用过高
- org.apache.ibatis.builder.IncompleteElementException:Could not find result map cn.lyp.entity.Book
- 用Python写的随机起名字的程序(可以起两字或三字名字)
- Task 05:样式色彩秀芳华
- 利用visio 画思维导图
热门文章
- Bluetooth 4.0之Android 讲解
- [真情文字]真情永远不会老去
- Fashion MNIST图片重建实战(AE)
- C/C++下使用SQLite轻量级数据库
- WS_EX_TRANSPARENT - 它实际上做了什么?
- verilog语法学习_2.时序控制(延时控制 时间控制)
- python开发工程师必刷题型(长期更新)
- 用URLOS一键安装laiketui电商门店系统 又快又方便
- python线程退出或应用程序请求_Python 线程和进程
- centos ip配置_在虚拟机(Vmware)中配置centos7系统静态ip,就是如此简单