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

Posted 小和尚我不念经

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

 

以上是关于Python库 使用filetype精确判断文件类型的主要内容,如果未能解决你的问题,请参考以下文章

Python3 使用filetype包查找指定目录中所有损坏的文件(图片,视频,音频等文件)

判断文件上传的类型

文件操作1

如何使用已上传的FileType编辑实体?

php文件操作基础

python模糊匹配库能否定制匹配关系