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生成随机数组的方法小结
Apr 15 Python
python 限制函数调用次数的实例讲解
Apr 21 Python
pytorch 把MNIST数据集转换成图片和txt的方法
May 20 Python
flask框架实现连接sqlite3数据库的方法分析
Jul 16 Python
Django urls.py重构及参数传递详解
Jul 23 Python
Python使用Socket实现简单聊天程序
Feb 28 Python
python将dict中的unicode打印成中文实例
May 11 Python
Python如何使用队列方式实现多线程爬虫
May 12 Python
Python坐标轴操作及设置代码实例
Jun 04 Python
浅谈多卡服务器下隐藏部分 GPU 和 TensorFlow 的显存使用设置
Jun 30 Python
Python面向对象之成员相关知识总结
Jun 24 Python
Python基础数据类型tuple元组的概念与用法
Aug 02 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 转换字符串编码 iconv与mb_convert_encoding的区别说明
2011/11/10 PHP
优化WordPress的Google字体以加速国内服务器上的运行
2015/11/24 PHP
php生成curl命令行的方法
2015/12/14 PHP
Yii2框架redis基本应用示例
2018/07/13 PHP
TP5框架model常见操作示例小结【增删改查、聚合、时间戳、软删除等】
2020/04/05 PHP
鼠标经过的文本框textbox变色
2009/05/21 Javascript
jQuery JSON的解析方式分享
2011/04/05 Javascript
原生JS和JQuery动态添加、删除表格行的方法
2015/05/28 Javascript
基于jQuery实现选取月份插件附源码下载
2015/12/28 Javascript
一起学写js Calender日历控件
2016/04/14 Javascript
jQuery实现每隔几条元素增加1条线的方法
2016/06/27 Javascript
浅析JavaScript的几种Math函数,random(),ceil(),round(),floor()
2016/12/22 Javascript
详解vue-router和vue-cli以及组件之间的传值
2017/07/04 Javascript
Bootstrap与Angularjs的模态框实例代码
2017/08/03 Javascript
Mac下通过brew安装指定版本的nodejs教程
2018/05/17 NodeJs
vue中使用微信公众号js-sdk踩坑记录
2019/03/29 Javascript
微信小程序实现带参数的分享功能(两种方法)
2019/05/17 Javascript
[01:31:02]TNC vs VG 2019国际邀请赛淘汰赛 胜者组赛BO3 第一场
2019/08/22 DOTA
python采用django框架实现支付宝即时到帐接口
2016/05/17 Python
Python中文件I/O高效操作处理的技巧分享
2017/02/04 Python
Python设计模式之适配器模式原理与用法详解
2019/01/15 Python
python判断两个序列的成员是否一样的实例代码
2020/03/01 Python
浅谈django 模型类使用save()方法的好处与注意事项
2020/03/28 Python
安装多个版本的TensorFlow的方法步骤
2020/04/21 Python
python获取本周、上周、本月、上月及本季的时间代码实例
2020/09/08 Python
css3进阶之less实现星空动画的示例代码
2019/09/10 HTML / CSS
好矿嫂事迹材料
2014/01/21 职场文书
社区庆八一活动方案
2014/02/02 职场文书
毕业生就业推荐表自我鉴定
2014/03/20 职场文书
婚前协议书
2014/04/15 职场文书
农村文化建设标语
2014/10/07 职场文书
2014年工程工作总结
2014/11/25 职场文书
2015年保卫科工作总结
2015/05/14 职场文书
小学生暑假安全保证书
2015/07/13 职场文书
新学期开学标语2015
2015/07/16 职场文书
早恋主题班会
2015/08/14 职场文书