文件格式确定库
fleep的Python项目详细描述
python的文件格式确定库
开始
fleep是一个通过文件签名(也称为“幻数”)确定文件格式的库。
安装
您可以使用pip安装fleep。只需在cli中运行:
pip install fleep
要求
- python>;=3.1
使用中
fleep具有决定文件格式的主要函数get()。它接受字节序列(128字节足够)作为参数,并返回类info的实例,参数如下:
- type->;合适文件类型的列表
- 扩展名->;合适的文件扩展名列表
- mime->;合适的文件mime类型列表
您可能认为列表中的第一个元素最合适。
类info的实例还有以下方法:
- type\u matches()->;检查文件类型是否与作为参数的给定类型匹配
- extension_matches()->;检查文件扩展名是否与作为参数的给定扩展名匹配
- mime_matches()->;检查文件mime类型是否与作为参数的给定mime类型匹配
还有3个功能:
- supported_types()->;返回受支持文件类型的列表
- 支持的扩展名()->;返回支持的文件扩展名列表
- 支持的mime()->;返回支持的文件mime类型列表
示例
您可以在examples文件夹中找到示例。有一个简单的例子:
importfleepwithopen("png_image","rb")asfile:info=fleep.get(file.read(128))print(info.type)# prints ['raster-image']print(info.extension)# prints ['png']print(info.mime)# prints ['image/png']print(info.type_matches("raster-image"))# prints Trueprint(info.extension_matches("gif"))# prints Falseprint(info.mime_matches("image/png"))# prints True
测试
您可以在tests文件夹中找到测试。有速度测试结果:
工作站
- python 3.6 x64位
- Windows 10 Home x64位
- 英特尔奔腾G4620 3.70GHz
- 金斯敦DDR4-24008192MB
- 金士顿固态硬盘120GB 550MB/s
结果
注意:0.0012345->;时间(秒)
Iteration | Minimum | Maximum | Average |
---|---|---|---|
1 | 0.0 | 0.0005312 | 0.0000851 |
2 | 0.0 | 0.0005360 | 0.0000858 |
3 | 0.0 | 0.0005236 | 0.0000837 |
4 | 0.0 | 0.0005035 | 0.0000833 |
5 | 0.0 | 0.0005295 | 0.0000835 |
支持的格式
有一个支持格式列表(按字母顺序):
光栅图像:
- bmp
- gif
- ICO
- JP2
- JPEG
- 巴布亚新几内亚
- 屏蔽门
- TIFF
- 网络电话
原始图像:
- arw
- CR2
- CRW
- DNG
- erf
- nef
- NRW
- ORF
- 产品环境足迹
- 皇家空军
- 生的
- rw2
- SRW
- x3f
矢量图像:
- 人工智能
- 每股收益
3d图像:
- C4D
- fbx
- 文学硕士
- ms3d
- mtl
- 对象
- 厚度
- wrl
- x3d
- XSI
音频:
- AAC
- AC3
- aiff
- AMR
- au
- flac
- M4A
- MIDI
- MKA
- MP3
- 奥加
- RA
- 挥发性有机化合物
- 波
- wma
视频:
- 3G2
- 3GP
- ASF
- AVI
- 飞行高度
- M4V
- mkv
- 移动
- MP4
- 英里/加仑
- ogv
- 主权财富基金
- VOB
- 网络管理
- wmv
文档:
- 医生
- docx
- epub
- 键
- 数字
- ODP
- ODS
- ODT
- 页数
- pps
- ppt
- pptx
- RTF
- xls
- xlsx
- XML
存档:
- 7Z
- DMG
- 广州李>
- ISO
- RAR
- 焦油z
- 拉链
可执行文件:
- COM
- EXE
- 罐子
字体:
- OTF
- TTF
- 炒菜
- 沃夫2
系统:
- 出租车
- 猫
- 动态链接库
- DRV
- 注册
- SDB
- 系统
数据库:
- sqlite
更改日志
您可以在changelog.md文件中找到changelog。
许可证
这个项目是根据mit许可证授权的。