Python使用filetype精确判断文件类型 (文件类型获取)

filetype.py

Small and dependency free Python package to infer file type and MIME type checking the  magic numbers signature of a file or buffer.

This is a Python port from filetype Go package. Works in Python  +3 .

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

功能特色

•简单友好的API
•支持宽范围文件类型
•提供文件扩展名和MIME类型判断
•文件的MIME类型扩展新增
•通过文件(图像、视频、音频…)简单分析
•可插拔:添加新的自定义类型的匹配
•快,即使处理大文件
•只需要前261个字节表示的最大文件头,这样你就可以通过一个单字节
•依赖自由(只是Python代码,没有C的扩展,没有libmagic绑定)
•跨平台文件识别

安装

pip install filetype

API

详情请查看 annotated API reference .

实例

简单的文件类型识别 

 

 

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-02-18 17:08  星河赵  阅读(34886)  评论(1编辑  收藏  举报

导航