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

filetype作用

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

filetype支持版本:

python2/python3

filetype安装:

pip install filetype

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

 

posted on 2018-08-27 18:23  小和尚我不念经  阅读(1298)  评论(0编辑  收藏  举报

导航