Python通过文件头来判断文件的真实类型
来源:互联网 发布:资料器械进销存软件 编辑:程序博客网 时间:2024/06/04 19:29
分类: python 工具
2013-07-15 16:03 2838人阅读 评论(3) 收藏 举报
- ###
- # 文章:Python通过文件头来判断文件类型
- # 作者:http://aminby.net
- ###
- import struct
- # 支持文件类型
- # 用16进制字符串的目的是可以知道文件头是多少字节
- # 各种文件头的长度不一样,少半2字符,长则8字符
- def typeList():
- return {
- "52617221": EXT_RAR,
- "504B0304": EXT_ZIP}
- # 字节码转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 += t
- return hexstr.upper()
- # 获取文件类型
- def filetype(filename):
- binfile = open(filename, 'rb') # 必需二制字读取
- tl = typeList()
- ftype = 'unknown'
- for hcode in tl.keys():
- numOfBytes = len(hcode) / 2 # 需要读多少字节
- binfile.seek(0) # 每次读取都要回到文件头,不然会一直往后读取
- hbytes = struct.unpack_from("B"*numOfBytes, binfile.read(numOfBytes)) # 一个 "B"表示一个字节
- f_hcode = bytes2hex(hbytes)
- if f_hcode == hcode:
- ftype = tl[hcode]
- break
- binfile.close()
- return ftype
- if __name__ == '__main__':
- print filetype(Your-file-path)
常见文件格式的文件头
这种方法也可以在网络服务方法可以用来防止上传者来者修改扩展名来欺骗服务器干坏事。
转自:http://aminby.net/2013/07/python-file-header-recoginze-type-extension/ 0 0
- Python通过文件头来判断文件的真实类型
- Python通过文件头来判断文件的真实类型
- Python通过文件头来判断文件的真实类型
- 判断文件类型(文件的真正类型,不是根据扩展名判断),通过文件头来判断
- 判断文件类型(文件的真正类型,不是根据扩展名判断),通过文件头来判断
- 根据文件头信息判断文件真实类型(AS3)
- 根据文件头来判断图片的类型
- 通过文件头判断图片类型
- 通过图片文件头判断图片类型
- asp判断文件的真实类型
- 如何判断上传文件的真实类型
- java判断文件的真实类型
- python判断文件的类型
- File Header文件头,通过检查文件头来判断文件类型
- File Header文件头,通过检查文件头来判断文件类型
- File Header文件头,通过检查文件头来判断文件类型
- (转)File Header文件头,通过检查文件头来判断文件类型
- delphi编程如何判断图片文件的真实类型?
- 在pythonanywhere上搭建django程序(Virtualenv+python2.7+django1.7+)
- Android Studio 中如何更改SDK路径
- 飞机大战-GameGoods商品的实现
- SQLi Labs【level 1-5】
- android 中访问网络介绍 一 (基于httpurlconnection 的中get请求)
- Python通过文件头来判断文件的真实类型
- 使用buildroot编译和使用开发板上的gcc[native gcc]
- WF 绘制图片的部分
- 使用matlab版本计算HOG 最为简单的计算方法 使用 vlfeat
- ns3的基础学习
- iOS多线程-------线程的状态
- HDU2955
- Android四大组件之一之service
- 基于STM32的函数信号发生器设计(下:软件设计)