Python库 使用filetype精确判断文件类型

作用

一个小巧自由开放Python开发包,主要用来获得文件类型。

支持版本:

python2/python3

安装:

pip install filetype

功能特色

  • 简单友好的API

  • 支持宽范围文件类型

  • 提供文件扩展名和MIME类型判断

  • 文件的MIME类型扩展新增

  • 通过文件(图像、视频、音频…)简单分析

  • 可插拔:添加新的自定义类型的匹配

  • 快,即使处理大文件

  • 只需要前261个字节表示的最大文件头,这样你就可以通过一个单字节

  • 依赖自由(只是Python代码,没有C的扩展,没有libmagic绑定)

  • 跨平台文件识别

代码示例:

import filetype

def main():
    kind = filetype.guess('tests/fixtures/sample.jpg')
    if kind is None:
        print('Cannot guess file type!')
        return

    print('File extension: %s' % kind.extension)
    print('File MIME type: %s' % kind.mime)

if __name__ == '__main__':
    main()

支持类型

图片

  • jpg  –  image/jpeg 

  • png  –  image/png 

  • gif  –  image/gif 

  • webp  –  image/webp 

  • cr2  –  image/x-canon-cr2 

  • tif  –  image/tiff 

  • bmp  –  image/bmp 

  • jxr  –  image/vnd.ms-photo 

  • psd  –  image/vnd.adobe.photoshop 

  • ico  –  image/x-icon

视频

  • mp4  –  video/mp4 

  • m4v  –  video/x-m4v 

  • mkv  –  video/x-matroska 

  • webm  –  video/webm 

  • mov  –  video/quicktime 

  • avi  –  video/x-msvideo 

  • wmv  –  video/x-ms-wmv 

  • mpg  –  video/mpeg 

  • flv  –  video/x-flv

音频

  • mid  –  audio/midi 

  • mp3  –  audio/mpeg 

  • m4a  –  audio/m4a 

  • ogg  –  audio/ogg 

  • flac  –  audio/x-flac 

  • wav  –  audio/x-wav 

  • amr  –  audio/amr

资料库 

  • epub  –  application/epub+zip 

  • zip  –  application/zip 

  • tar  –  application/x-tar 

  • rar  –  application/x-rar-compressed 

  • gz  –  application/gzip 

  • bz2  –  application/x-bzip2 

  • 7z  –  application/x-7z-compressed 

  • xz  –  application/x-xz 

  • pdf  –  application/pdf 

  • exe  –  application/x-msdownload 

  • swf  –  application/x-shockwave-flash 

  • rtf  –  application/rtf 

  • eot  –  application/octet-stream 

  • ps  –  application/postscript 

  • sqlite  –  application/x-sqlite3 

  • nes  –  application/x-nintendo-nes-rom 

  • crx  –  application/x-google-chrome-extension 

  • cab  –  application/vnd.ms-cab-compressed 

  • deb  –  application/x-deb 

  • ar  –  application/x-unix-archive 

  • Z  –  application/x-compress 

  • lz  –  application/x-lzip

字体 

  • woff  –  application/font-woff 

  • woff2  –  application/font-woff 

  • ttf  –  application/font-sfnt 

  • otf  –  application/font-sfnt


相关文章

使用OpenCV实现视频去抖 整体步骤: 设置输入输出视频 寻找帧...
前言 对中文标题使用余弦相似度算法和编辑距离相似度分析进行...
前言 之前尝试写过一个爬虫,那时对网页请求还不够熟练,用的...
前言 本文使用Python实现了PCA算法,并使用ORL人脸数据集进行...
前言 使用opencv对图像进行操作,要求:(1)定位银行票据的...
天气预报API 功能 从中国天气网抓取数据返回1-7天的天气数据...