推断任何文件/缓冲区的文件类型和mime类型。没有外部依赖关系。

filetype的Python项目详细描述


小型且无依赖关系的Python包,用于推断文件类型和mime 类型检查文件或缓冲区的magic numbers签名。

这是来自filetypego包的python端口。

功能

  • 简单友好的API
  • 支持文件类型的wide range
  • 提供文件扩展名和mime类型推断
  • 按扩展名或mime类型查找文件
  • 按种类(图像、视频、音频…)查找文件
  • Pluggable:添加新的自定义类型匹配器
  • Fast,甚至处理大文件
  • 只需要前261个字节表示最大文件头,所以 你只要pass a list of bytes
  • 无依赖性(只有python代码,没有c扩展,没有libmagic 装订)
  • 跨平台文件识别

安装

pip install filetype

示例

简单文件类型检查

importfiletypedefmain():kind=filetype.guess('tests/fixtures/sample.jpg')ifkindisNone:print('Cannot guess file type!')returnprint('File extension: %s'%kind.extension)print('File MIME type: %s'%kind.mime)if__name__=='__main__':main()

支持的类型

图像

  • jpg-image/jpeg
  • jpx-image/jpx
  • 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
  • heic-image/heic

视频

  • 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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
解释java选择方法   连接到127.0.0.1的java间歇性故障,连接到IP(eth0)时没有故障   java如何优雅地杀死hadoop作业/intercept`hadoop作业杀死`   java如何通过引导类加载器以编程方式加载另一个类?   url Java:在查询参数之前使用片段构建URI   在BroadLeaf表blc_order_属性中保存OrderAttributes值时发生java错误   安卓将功能从xml转换为java   java如何将数据写入文件?   java JPA SQL结果映射   Java中整数对象比较运算符的引用安全性   Spring测试失败:java。lang.NoClassDefFoundError:org/springframework/cglib/transform/impl/memorysafuendecaredthrowableStrategy   rich:extendedDataTable中的java行选择和数据处理   java为什么我需要在volatile上对多个线程使用synchronized?   java尽管构建成功,但为什么会出现此错误?   数组$ArrayList不能转换为java。util。java中的ArrayList   java如何根据泛型类型调用方法?   java将JLabel添加到JPanel,将JPanel添加到JFrame   如果MapStruct中的源为null,则java将父目标设置为null   JavaJBossDrools从DRL插入事实   java不同的JRE安装(windows)