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脚本关闭文件操作的机制
Jun 28 Python
python相似模块用例
Mar 04 Python
python脚本替换指定行实现步骤
Jul 11 Python
Python基于递归算法实现的汉诺塔与Fibonacci数列示例
Apr 18 Python
对Python中range()函数和list的比较
Apr 19 Python
Python实现合并同一个文件夹下所有PDF文件的方法示例
Apr 28 Python
Python文本统计功能之西游记用字统计操作示例
May 07 Python
Python基础之函数原理与应用实例详解
Jan 03 Python
python matplotlib:plt.scatter() 大小和颜色参数详解
Apr 14 Python
Pycharm安装python库的方法
Nov 24 Python
python中绕过反爬虫的方法总结
Nov 25 Python
Python使用paramiko连接远程服务器执行Shell命令的实现
Mar 04 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 chmod 函数与批量修改文件目录权限
2010/05/10 PHP
php 获取页面中指定内容的实现类
2014/01/23 PHP
PHP 二维数组和三维数组的过滤
2016/03/16 PHP
PHP设计模式之适配器模式定义与用法详解
2018/04/03 PHP
详解php协程知识点
2018/09/21 PHP
用javascript操作xml
2006/11/04 Javascript
jQuery学习笔记之jQuery选择器的使用
2010/12/22 Javascript
在浏览器窗口上添加遮罩层的方法
2012/11/12 Javascript
javascript中简单的进制转换代码实例
2013/10/26 Javascript
提取字符串中年月日的函数代码
2013/11/05 Javascript
自制的文件上传JS控件可支持IE、chrome、firefox etc
2014/04/18 Javascript
javascript父、子页面交互技巧总结
2014/08/08 Javascript
一个字符串反转函数可实现字符串倒序
2014/09/15 Javascript
jQuery使用before()和after()在元素前后添加内容的方法
2015/03/26 Javascript
jQuery实现的在线答题功能
2015/04/12 Javascript
浅谈angular2路由预加载策略
2017/10/04 Javascript
webpack之devtool详解
2018/02/10 Javascript
jquery.onoff实现简单的开关按钮功能(推荐)
2018/05/24 jQuery
JavaScript基础之静态方法和实例方法分析
2018/12/26 Javascript
vue的for循环使用方法
2019/02/12 Javascript
JS数组属性去重并校验重复数据
2020/01/10 Javascript
nodejs+koa2 实现模仿springMVC框架
2020/10/21 NodeJs
[01:42]辉夜杯战队访谈宣传片—FANTUAN
2015/12/25 DOTA
python实现BackPropagation算法
2017/12/14 Python
python之线程通过信号pyqtSignal刷新ui的方法
2019/01/11 Python
解决python中导入win32com.client出错的问题
2019/07/26 Python
解决django同步数据库的时候app models表没有成功创建的问题
2019/08/09 Python
解决Django响应JsonResponse返回json格式数据报错问题
2020/08/09 Python
CSS3实现瀑布流布局与无限加载图片相册的实例代码
2016/12/22 HTML / CSS
禁毒宣传标语
2014/06/19 职场文书
刑事辩护授权委托书
2014/09/13 职场文书
幼儿园校车安全责任书
2015/05/08 职场文书
热爱劳动主题班会
2015/08/14 职场文书
Java中多线程下载图片并压缩能提高效率吗
2021/07/01 Java/Android
CSS元素定位之通过元素的标签或者元素的id、class属性定位详解
2022/09/23 HTML / CSS
table不让td文字溢出操作方法
2022/12/24 HTML / CSS