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中使用Boolean操作符做真值测试实例
Jan 30 Python
讲解Python的Scrapy爬虫框架使用代理进行采集的方法
Feb 18 Python
使用Python绘制图表大全总结
Feb 11 Python
基于python 二维数组及画图的实例详解
Apr 03 Python
PyQT实现多窗口切换
Apr 20 Python
Python常用字符串替换函数strip、replace及sub用法示例
May 21 Python
python和shell获取文本内容的方法
Jun 05 Python
零基础使用Python读写处理Excel表格的方法
May 02 Python
python使用rsa非对称加密过程解析
Dec 28 Python
Anaconda和ipython环境适配的实现
Apr 22 Python
Python如何爬取b站热门视频并导入Excel
Aug 10 Python
python 多线程中join()的作用
Oct 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
用PHP实现维护文件代码
2007/06/14 PHP
10个可以简化php开发过程的MySQL工具
2010/04/11 PHP
php发送post请求的三种方法
2014/02/11 PHP
php验证邮箱和ip地址最简单方法汇总
2015/10/30 PHP
PHP 网站修改默认访问文件的nginx配置
2017/05/27 PHP
一段效率很高的for循环语句使用方法
2007/08/13 Javascript
js escape,unescape解决中文乱码问题的方法
2010/05/26 Javascript
把input初始值不写value的具体实现方法
2013/07/04 Javascript
javascript实现点击按钮弹出一个可关闭层窗口同时网页背景变灰的方法
2015/05/13 Javascript
js实现的倒计时按钮实例
2015/06/24 Javascript
详解JavaScript中|单竖杠运算符的使用方法
2016/05/23 Javascript
一个例子轻松学会Vue.js
2017/01/02 Javascript
js实现文字选中分享功能
2017/01/25 Javascript
validationEngine 表单验证插件使用实例代码
2017/06/15 Javascript
angular4 共享服务在多个组件中数据通信的示例
2018/03/30 Javascript
Element中的Cascader(级联列表)动态加载省\市\区数据的方法
2019/03/27 Javascript
使用vue-cli3 创建vue项目并配置VS Code 自动代码格式化 vue语法高亮问题
2019/05/14 Javascript
nodejs dgram模块广播+组播的实现示例
2019/11/04 NodeJs
[03:07]2015国际邀请赛选手档案EHOME.rOtK 是什么让他落泪?
2015/07/31 DOTA
python妙用之编码的转换详解
2017/04/21 Python
Apache如何部署django项目
2017/05/21 Python
Python实现的多项式拟合功能示例【基于matplotlib】
2018/05/15 Python
python 编写简单网页服务器的实例
2018/06/01 Python
python requests.post带head和body的实例
2019/01/02 Python
从列表或字典创建Pandas的DataFrame对象的方法
2019/07/06 Python
python3使用GUI统计代码量
2019/09/18 Python
如何修复使用 Python ORM 工具 SQLAlchemy 时的常见陷阱
2019/11/19 Python
python 上下文管理器及自定义原理解析
2019/11/19 Python
细说CSS3中的选择符
2008/10/17 HTML / CSS
前端使用canvas生成盲水印的加密解密的实现
2020/12/16 HTML / CSS
澳大利亚最大的女装零售商:Millers
2017/09/10 全球购物
统计员岗位职责
2013/11/14 职场文书
门面房租房协议书
2014/12/01 职场文书
法定代表人免职证明
2015/06/24 职场文书
2019年图书室自查报告范本
2019/10/12 职场文书
pnpm对npm及yarn降维打击详解
2022/08/05 Javascript