zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    观后感(追番记)...
    网络流24题
    动物园
    [HNOI2016]网络
    部落战争(最小路径点覆盖)
    P4313 文理分科(最小割)
    P2774 方格取数问题(最小割)
    P2472 [SCOI2007]蜥蜴(最大流)
    P1231 教辅的组成(最大流)
    最短路计数(SPFA× Dijkstra√)
  • 原文地址:https://www.cnblogs.com/chenxinming-top/p/9543963.html
Copyright © 2011-2022 走看看