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中用Decorator来简化元编程的教程
Apr 13 Python
简单介绍Python中的struct模块
Apr 28 Python
Python实现多并发访问网站功能示例
Jun 19 Python
浅谈python jieba分词模块的基本用法
Nov 09 Python
Python实现PS滤镜特效Marble Filter玻璃条纹扭曲效果示例
Jan 29 Python
Python 文本文件内容批量抽取实例
Dec 10 Python
Pandas之groupby( )用法笔记小结
Jul 23 Python
Python内置方法和属性应用:反射和单例(推荐)
Jun 19 Python
python 发送邮件的示例代码(Python2/3都可以直接使用)
Dec 03 Python
django注册用邮箱发送验证码的实现
Apr 18 Python
Python基础知识学习之类的继承
May 31 Python
详解OpenCV曝光融合
Apr 29 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
Js+Flash实现访问剪切板操作
2012/11/20 Javascript
js data日期初始化的5种方法
2013/12/29 Javascript
Jquery中扩展方法extend使用技巧
2014/08/24 Javascript
JavaScript笔记之数据属性和存储器属性
2016/03/31 Javascript
Angular4学习笔记之准备和环境搭建项目
2017/08/01 Javascript
JS库之Particles.js中文开发手册及参数详解
2017/09/13 Javascript
JS获取一个表单字段中多条数据并转化为json格式
2017/10/17 Javascript
使用vue-router为每个路由配置各自的title
2018/07/30 Javascript
vue监听input标签的value值方法
2018/08/27 Javascript
微信小程序纯文本实现@功能
2020/04/08 Javascript
Vue初始化中的选项合并之initInternalComponent详解
2020/06/11 Javascript
Python ZipFile模块详解
2013/11/01 Python
Python的加密模块md5、sha、crypt使用实例
2014/09/28 Python
Python读写配置文件的方法
2015/06/03 Python
Python注释详解
2016/06/01 Python
Python实现矩阵加法和乘法的方法分析
2017/12/19 Python
基于Django的乐观锁与悲观锁解决订单并发问题详解
2019/07/31 Python
Python笔试面试题小结
2019/09/07 Python
基于Django统计博客文章阅读量
2019/10/29 Python
Python版中国省市经纬度
2020/02/11 Python
pandas之分组groupby()的使用整理与总结
2020/06/18 Python
图解CSS3制作圆环形进度条的实例教程
2016/05/26 HTML / CSS
美国时尚大码女装购物网站:Avenue
2019/05/24 全球购物
EJB的几种类型
2012/08/15 面试题
J2EE模式面试题
2016/10/11 面试题
前台文员个人求职信范文
2014/01/05 职场文书
师范学院美术系毕业生自我鉴定
2014/01/29 职场文书
大专会计自我鉴定
2014/02/06 职场文书
体育教师自我鉴定
2014/02/12 职场文书
工作过失检讨书
2014/02/23 职场文书
学习雷锋精神演讲稿
2014/05/10 职场文书
2014最新离职证明范本
2014/09/12 职场文书
埃及王子观后感
2015/06/16 职场文书
红色经典观后感
2015/06/18 职场文书
初一英语教学反思
2016/02/15 职场文书
MySQL批量更新不同表中的数据
2022/05/11 MySQL