
[497]python使用magic模块进行文件类型识别
发布日期:2021-05-16 09:28:45
浏览次数:20
分类:精选文章
本文共 1178 字,大约阅读时间需要 3 分钟。
python-magic - 文件类型识别库
安装
这是一款基于libmagic的文件类型识别库的Python接口。它通过检查文件头部来识别文件类型。这个库最初是通过Unix命令行的file
工具暴露给用户的。
使用以下命令安装:
pip install python-magic python-magic-bin
使用方法
从文件中获取信息
以下是常见的使用示例:
# encoding=utf-8import magic# 从文件中读取信息type_info = magic.from_file("./data/123.pdf")print('文件类型: %s' % type_info)# 从文件中读取缓冲区内容type_info = magic.from_buffer(open("./data/123.pdf", 'rb').read(1024))print('文件类型: %s' % type_info)# 使用mime类型获取信息type_info = magic.from_file("./data/123.pdf", mime=True)print('文件类型: %s' % type_info)
使用Magic类
Magic
类提供了更直接的控制方式,用户可以自定义魔术数据库文件以及启用字符编码检测。这一功能主要用于开发人员的定制需求,但不建议用于生产环境,尤其是涉及跨线程操作时,可能导致安全性问题。
import magic# 创建Magic对象,启用解压缩和字符编码检测f = magic.Magic(uncompress=True)# 从文件中读取信息type_info = f.from_file("./data/123.docx")print('文件类型: %s' % type_info)# 同样用于PDF文件type_info = f.from_file("./data/123.pdf")print('文件类型: %s' % type_info)
配置参数
可以通过设置Magic
类的参数来自定义识别规则。以下是一些常见参数:
# 结合`mime`和`uncompress`参数f = magic.Magic(mime=True, uncompress=True)# 从文件中读取信息type_info = f.from_file("./data/123.docx")print('文件类型: %s' % type_info)type_info = f.from_file("./data/123.pdf")print('文件类型: %s' % type_info)
注意事项
跨多线程访问Magic
实例的数据库时可能会导致不稳定性,因此不建议在多线程环境中使用这种方式。
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2025年04月27日 15时11分45秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
分享下自己总结的Git常用命令
2023-01-23
AIGC在量子计算研究中的应用:算法优化提示词
2023-01-23
三种引流方法&案例分析
2023-01-23
打开有惊喜
2023-01-23
AIGC在个性化医疗方案生成中的应用与挑战
2023-01-23
AUTOSAR_SWS_CANDriver4
2023-01-23
Spring高手系列2
2023-01-23
撕名牌游戏规则
2023-01-23
程序员的幽默8
2023-01-23
Android内存优化指南:从数据结构到5R法则的全面策略
2023-01-23
现代前端开发框架对比:React、Vue 和 Svelte 的选择指南
2023-01-23
跑男策划书
2023-01-23
智能电商小程序代码开发:打造全网热销购物体验
2023-01-23
程序员的幽默9
2023-01-23
计算机网络判断题二
2023-01-23
程序员都看不懂的代码
2023-01-23
LLM+多智能体协作:基于CrewAI与DeepSeek的邮件自动化实践
2023-01-23
404错误页面简约清新源码 非常好看
2023-01-23
404页面自动跳转源码
2023-01-23
44:数字序列中某一位的数字
2023-01-23