python 使用 magic 从文件内容判断文件类型
🕦 2014-06-30 10:58
使用 python-magic 库可以轻松识别文件的类型,python-magic是libmagic文件类型识别库的python接口。libmagic通过根据预定义的文件类型列表检查它们的头文件来识别文件类型。
这个功能通过Unix命令文件暴露给命令行。
安装magic
这是一个c语言库,Linux上file命令便是使用了这个库
用 pip 安装
pip install python-magic
pip install python-magic-bin
在 OSX 上使用 Homebrew 或 macports 安装
brew install libmagic
port install file
构造客户端请求
def upload_slide(request):
file_data = request.POST.get('data', '')
file_data = base64.b64decode(file_data.split(';base64,')[1])
description = magic.from_buffer(file_data)
读取测试
>>> 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'
识别格式
FORMAT_MP4 = 0
FORMAT_WEBM = 1
FORMAT_OGG = 2
FORMAT_FL9 = 3
FORMAT_THUMB = 4
supported_formats = (
(FORMAT_MP4, 'MPEG 4'),
(FORMAT_WEBM, 'WebM'),
(FORMAT_OGG, 'OGG'),
(FORMAT_FL9, 'Flash 9 Video'),
(FORMAT_THUMB, 'Thumbnail'),
)
mime_types = (
(FORMAT_MP4, 'video/mp4'),
(FORMAT_WEBM, 'video/webm'),
(FORMAT_OGG, 'video/ogg'),
(FORMAT_FL9, 'video/mp4'),
(FORMAT_THUMB, 'image/jpeg'),
)
项目地址
本文网址: https://pylist.com/t/1404097119 (转载注明出处)
如果你有任何建议或疑问可以在下面 留言
发表第一条评论!
相关推荐
标签
python
时间
判断
当前
是否
base64
解码
编码
图片
sha1
php
hmac
签名
微信
浏览器
识别
markdown
解析
速度
比较
list
按键
排序
高效
字典
最快
传说
sae
pil
image
高质量
多线程
监听
变量
spotify
chartify
开源
图表
webview
file
android
input
上传
预览
js
原生
选择
qq
时隔多年
网页
登录
全屏
方法
实现
文件
wkwebview
ios
载入
灵活
访问速度
vps
bbr
开启
加速
adblock
攻守
互转
简体
繁体
golang
opencc
修砖记
变砖
ubnt
er
tftp
fonts
css
html
一键
脚本
制作
程序
启动
pytenjin
缓存
片段
页面
中文
实体
转换
openwrt
国内
虚拟机
virtualbox
很慢
网络
解决
1.3
caddy
tls
部署
快速
socks5
代理
依赖
安装
使用
简析
await
async
场景
arris
ac1750
sbr
路由
最近发表
- go get 使用socks5 代理安装依赖库
- Golang结合OpenCC实现高效的中文简体繁体互转
- 原生 js 实现选择图片后本地预览
- async/await 使用场景简析
- 关于 AdBlock 的“攻守道”
- ARRIS SBR-AC1750 路由变砖拆解折腾
- Openwrt 路由上开启BBR
- UBNT ER-X 变砖 tftp 修砖记
- Android webview input file 上传图片
- js实现浏览器全屏方法
- 时隔多年,关于网页用QQ、微博登录
- 一键下载网站资源(html/css/js/fonts)
- 一键制作程序启动脚本
- 开启BBR 加速小VPS访问速度
- OpenWrt 国内源
- IOS WKWebView 灵活载入本地文件和网络文件
最近浏览
- Android webview input file 上传图片
- 原生 js 实现选择图片后本地预览
- 时隔多年,关于网页用QQ、微博登录
- js实现浏览器全屏方法
- IOS WKWebView 灵活载入本地文件和网络文件
- 开启BBR 加速小VPS访问速度
- 关于 AdBlock 的“攻守道”
- Golang结合OpenCC实现高效的中文简体繁体互转
- UBNT ER-X 变砖 tftp 修砖记
- 一键下载网站资源(html/css/js/fonts)
- 一键制作程序启动脚本
- 使用pyTenjin 缓存html 页面片段
- 用python 实现中文与html实体相互转换
- OpenWrt 国内源
- VirtualBox 虚拟机里网络很慢的解决方法
- 用 Caddy 快速部署TLS 1.3