python使用magic模块进行文件类型识别方法


Posted in Python onDecember 08, 2018

代码实例

python-magic是libmagic文件类型识别库的python接口。 libmagic通过根据预定义的文件类型列表检查它们的头文件来识别文件类型。 这个功能通过Unix命令文件暴露给命令行。

>>> 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'

还有一个Magic类提供更直接的控制,包括覆盖魔术数据库文件并开启字符编码检测。 这不建议用于一般用途。 特别是,跨多个线程共享并不安全,如果尝试这样做会失败。

>>> f = magic.Magic(uncompress=True)
>>> f.from_file('testdata/test.gz')
'ASCII text (gzip compressed data, was "test", last modified: Sat Jun 28
21:32:52 2008, from Unix)'

还可以结合标志选项:

>>> f = magic.Magic(mime=True, uncompress=True)
>>> f.from_file('testdata/test.gz')
'text/plain'

以上这篇python使用magic模块进行文件类型识别方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
详解Python字符串对象的实现
Dec 24 Python
python 如何快速找出两个电子表中数据的差异
May 26 Python
Python自动化运维之IP地址处理模块详解
Dec 10 Python
Python subprocess模块详细解读
Jan 29 Python
详解django的serializer序列化model几种方法
Oct 16 Python
python实现简单的单变量线性回归方法
Nov 08 Python
Python中的元组介绍
Jan 28 Python
使用Python向DataFrame中指定位置添加一列或多列的方法
Jan 29 Python
Python中print和return的作用及区别解析
May 05 Python
python 实现线程之间的通信示例
Feb 14 Python
Python实现Word表格转成Excel表格的示例代码
Apr 16 Python
python selenium xpath定位操作
Sep 01 Python
将pandas.dataframe的数据写入到文件中的方法
Dec 07 #Python
python用pandas数据加载、存储与文件格式的实例
Dec 07 #Python
Python判断一个文件夹内哪些文件是图片的实例
Dec 07 #Python
用python脚本24小时刷浏览器的访问量方法
Dec 07 #Python
浅谈python下含中文字符串正则表达式的编码问题
Dec 07 #Python
python 实现调用子文件下的模块方法
Dec 07 #Python
使用Python开发SQLite代理服务器的方法
Dec 07 #Python
You might like
php验证是否是md5编码的简单代码
2014/04/01 PHP
利用 fsockopen() 函数开放端口扫描器的实例
2017/08/19 PHP
PHP实现二维数组按照指定的字段进行排序算法示例
2019/04/23 PHP
选择TreeView控件的树状数据节点的JS方法(jquery)
2010/02/06 Javascript
Javascript 面向对象 继承
2010/05/13 Javascript
javascript 45种缓动效果 非常酷
2011/06/28 Javascript
js解析与序列化json数据(一)json.stringify()的基本用法
2013/02/01 Javascript
js实现的切换面板实例代码
2013/06/17 Javascript
js控制不同的时间段显示不同的css样式的实例代码
2013/11/04 Javascript
JavaScript中的原型和继承详解(图文)
2014/07/18 Javascript
node爬取微博的数据的简单封装库nodeweibo使用指南
2015/01/02 Javascript
JavaScript错误处理
2015/02/03 Javascript
jquery中EasyUI实现异步树
2015/03/01 Javascript
jQuery层动画定位滑动效果的方法
2015/04/30 Javascript
js实现仿Windows风格选项卡和按钮效果实例
2015/05/13 Javascript
利用Jquery队列实现根据输入数量显示的动画
2016/09/01 Javascript
jQuery中的insertBefore(),insertAfter(),after(),before()区别介绍
2016/09/01 Javascript
Django模板继承 extend标签实例代码详解
2019/05/16 Javascript
vue-cli history模式实现tomcat部署报404的解决方式
2019/09/06 Javascript
vuex中store存储store.commit和store.dispatch的用法
2020/07/24 Javascript
python的numpy模块安装不成功简单解决方法总结
2017/12/23 Python
对Python3中的print函数以及与python2的对比分析
2018/05/02 Python
Python工厂函数用法实例分析
2018/05/14 Python
使用python将时间转换为指定的格式方法
2018/11/12 Python
使用python telnetlib批量备份交换机配置的方法
2019/07/25 Python
Django单元测试工具test client使用详解
2019/08/02 Python
Python安装OpenCV的示例代码
2020/03/05 Python
Python使用graphviz画流程图过程解析
2020/03/31 Python
Python异常处理机制结构实例解析
2020/07/23 Python
Nike比利时官网:Nike.com (BE)
2019/02/07 全球购物
英国健身仓库:Bodybuilding Warehouse
2019/03/06 全球购物
金属材料工程毕业生个人的自我评价
2013/11/28 职场文书
办公用房租赁协议书
2014/11/29 职场文书
老兵退伍感言
2015/08/03 职场文书
房屋转让协议书(标准范本)
2016/03/21 职场文书
nginx七层负载均衡配置详解
2022/07/15 Servers