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 相关文章推荐
Tensorflow实现卷积神经网络的详细代码
May 24 Python
Python实现的redis分布式锁功能示例
May 29 Python
python验证码识别教程之利用滴水算法分割图片
Jun 05 Python
Python面向对象类编写细节分析【类,方法,继承,超类,接口等】
Jan 05 Python
Python实现微信中找回好友、群聊用户撤回的消息功能示例
Aug 23 Python
python树的同构学习笔记
Sep 14 Python
Python 元组操作总结
Sep 18 Python
Python selenium 自动化脚本打包成一个exe文件(推荐)
Jan 14 Python
Python 3.8 新功能来一波(大部分人都不知道)
Mar 11 Python
Python类的动态绑定实现原理
Mar 21 Python
python 如何将office文件转换为PDF
Sep 22 Python
Python 中面向接口编程
May 20 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摘要生成函数(无乱码)
2012/02/04 PHP
php发送get、post请求的6种方法简明总结
2014/07/08 PHP
分享最受欢迎的5款PHP框架
2014/11/27 PHP
浅谈php的优缺点
2015/07/14 PHP
php判断是否为ajax请求的方法
2016/11/29 PHP
PHP去除空数组且数组键名重置的讲解
2019/02/28 PHP
laravel在中间件内生成参数并且传递到控制器中的2种姿势
2019/10/15 PHP
JavaScript confirm选择判断
2008/10/18 Javascript
Javascript String对象扩展HTML编码和解码的方法
2009/06/02 Javascript
javascript实现的使用方向键控制光标在table单元格中切换
2010/11/17 Javascript
推荐40个简单的 jQuery 导航插件和教程(下篇)
2012/09/14 Javascript
js解析json读取List中的实体对象示例
2014/03/11 Javascript
JS数组去掉重复数据只保留一条的实现代码
2016/08/11 Javascript
JS中使用 after 伪类清除浮动实例
2017/03/01 Javascript
Webpack实现按需打包Lodash的几种方法详解
2017/05/08 Javascript
解决JS内存泄露之js对象和dom对象互相引用问题
2017/06/25 Javascript
JS中正则表达式要注意lastIndex属性
2017/08/08 Javascript
vue.js vue-router如何实现无效路由(404)的友好提示
2017/12/20 Javascript
VueAwesomeSwiper在VUE中的使用以及遇到的一些问题
2018/01/11 Javascript
Vue使用Element实现增删改查+打包的步骤
2020/11/25 Vue.js
python中 ? : 三元表达式的使用介绍
2013/10/09 Python
python基础教程之面向对象的一些概念
2014/08/29 Python
Python实现拷贝多个文件到同一目录的方法
2016/09/19 Python
python版微信跳一跳游戏辅助
2018/01/11 Python
Python实现的质因式分解算法示例
2018/05/03 Python
python实现贪吃蛇小游戏
2020/03/21 Python
Html5页面二次分享的实现
2018/07/30 HTML / CSS
Nike瑞典官方网站:Nike.com (SE)
2018/11/26 全球购物
英国最好的温室之家:Greenhouses Direct
2019/07/13 全球购物
信息管理员岗位职责
2013/12/01 职场文书
大专毕业生求职信
2014/07/05 职场文书
胡桃夹子观后感
2015/06/11 职场文书
拥有这5个特征人,“命”都不会太差
2019/08/16 职场文书
Mysql Show Profile
2021/04/05 MySQL
原型和原型链 prototype和proto的区别详情
2021/11/02 Javascript
教你一步步实现一个简易promise
2021/11/02 Javascript