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 .
一个小巧自由开放Python开发包,主要用来获得文件类型。包要求Python .+
功能特色
•简单友好的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
Python使用filetype精确判断文件类型 (文件类型获取)的更多相关文章
- Python使用filetype精确判断文件类型
Python使用filetype精确判断文件类型 判断文件类型在开发中非常常见的需求,怎样才能准确的判断文件类型呢?首先大家想到的是文件的后缀,但是非常遗憾的是这种方法是非常不靠谱的,因为文件的后缀是 ...
- Linux 精确判断是否同一文件--及终端获取字符串md5 的值
背景 今天发现一个同事用 文件大小 对比,来判断编译所得的一个可执行文件是不是同一个文件. 讲道理 这种方式出错的概率很低,但是用这样的方法,一旦出错就容易被坑一把狠的. 所以我来分享一下 md5 在 ...
- Python判断上传文件类型
在开发上传服务时,经常需要对上传的文件进行过滤. 本文为大家提供了python通过文件头判断文件类型的方法,非常实用. 代码如下 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ...
- 【python基础语法】OS模块处理文件绝对路径,内置的异常类型、捕获、处理(第9天课堂笔记)
import os """ 通过文件的路径去打开文件 相对路径:相对当前的工作路径去定位文件位置 .:代表当前路径 ..:代表上一级路径(父级路径) 绝对路径:相对于电脑 ...
- 使用ASP.NET 上传文件 三种类型判断方法(后缀,MIME,数据流)
#region 一. 安全性比较低,把文本文件1.txt改成1.jpg照样可以上传,但其实现方法容易理解,实现也简单,所以网上很多还是采取这种方法. Boolean fileOk = false; s ...
- ASP.net 判断上传文件类型的三种方法
一. 安全性比较低,把文本文件1.txt改成1.jpg照样可以上传,但其实现方法容易理解,实现也简单,所以网上很多还是采取这种方法. Boolean fileOk = false; string pa ...
- 用ASP.net判断上传文件类型的三种方法
一. 安全性比较低,把文本文件1.txt改成1.jpg照样可以上传,但其实现方法容易理解,实现也简单,所以网上很多还是采取这种方法. Boolean fileOk = false; ...
- 【Python备忘】python判断文件和文件夹是否存在
python判断文件和文件夹是否存在 import os os.path.isfile('test.txt') #如果不存在就返回False os.path.exists(directory) #如果 ...
- JAVA判断文件的内容类型
Java 7 新的特性,判断文件的内容类型. Program to demonstrate Java 7 new feature : Determining the file content type ...
随机推荐
- LeetCode OJ 15. 3Sum
题目 Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all ...
- 遍历DOM树,理解更新范围
在JavaScript中,如果需求对多个元素重复进行同样的操作,就需要写一个循环来遍历选中的所有元素. 在jQuery中,当选择器返回了多个元素时,可以使用一个方法来更新所有的元素,不再需要使用循环. ...
- webkit内核自定义隐藏滚动条
1,在主页面可以拿到iframe,也可以为iframe注册onload等事件.document.getElementById('iframeId').onload 2,在主页面操作其中的iframe的 ...
- JAVAWEB 一一 Hibernate(框架)
实体类关联数据库字段,操作实体类,HQL语句对数据结构CRUD) 引入jar包 配置文件 hibernate.cfg.xml User.hbm.xml <?xml version="1 ...
- Java NIO Path
Java NIO Path Creating a Path Instance Creating an Absolute Path Creating a Relative Path Path.norma ...
- 2018面向对象程序设计(Java) 第2周学习指导及要求
2018面向对象程序设计(Java) 第2周学习指导及要求(2018.9.3-2018.9.9) 学习目标 适应老师教学方式,能按照自主学习要求完成本周理论知识学习: 掌握Java Applica ...
- 2017面向对象程序设计(JAVA)第3周学习指导及要求(2017.9.6-2017.9.12)
学习目标 掌握类与对象的基础概念,理解类与对象的关系: 掌握对象与对象变量的关系: 掌握预定义类的基本使用方法,熟悉Math类.String类.math类.Scanner类.LocalDate类的常用 ...
- Dubbo启动过程(Spring方式)详解
一.使用Spring xml配置方式的启动过程 1. 解析XML,注册Bean 2. 监听Spring事件 3. 启动或关闭dubbo 二.详细过程 1. 解析XML,注册Bean 利用Spring提 ...
- 解决不联网无法启动struts2问题
Unable to load configuration. - Class: java.net.PlainSocketImplFile: PlainSocketImpl.javaMethod: con ...
- springboot logback
/resources/logback-spring.xml <configuration> <appender name="stdout" class=" ...