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 ...
随机推荐
- 何谓domReady
我的博客已经写过好几篇如何实现domReady的文章,最近做培训,面向新手们,需要彻彻底底向他们说明这个东西,于是就有了这篇文章. 我们经常看人们用 document.getElementById(& ...
- sqlalchemy 学习--单表操作
以下所有代码片段都使用了统一的引用,该引用如下: from sqlalchemy import create_engine, ForeignKey from sqlalchemy.ext.declar ...
- C# 图像处理: 获取当前活动窗口句柄,获取窗口大小及位置
需调用API函数 需在开头引入命名空间 using System.Runtime.InteropServices; 获取当前窗口句柄:GetForegroundWindow() [DllImport( ...
- idea git 把本地项目上传到github上
创建一个项目,在项目文件夹下执行以下命令 第二种方法: 先在idea上创建一个项目 注意以上只是在本地建立了本地仓库,代码都放在本地仓库. 现在上传到github上 到此才上传成功
- 吴裕雄 python 机器学习-DMT(2)
import matplotlib.pyplot as plt decisionNode = dict(boxstyle="sawtooth", fc="0.8" ...
- 线程执行synchronized同步代码块时再次重入该锁过程中抛异常,是否会释放锁
一个线程执行synchronized同步代码时,再次重入该锁过程中,如果抛出异常,会释放锁吗? 如果锁的计数器为1,抛出异常,会直接释放锁: 那如果锁的计数器为2,抛出异常,会直接释放锁吗? 来简单测 ...
- php正则替换双引号里面的字符
- mongo的csv文件参考
https://blog.csdn.net/u012318074/article/details/77713228
- Java中构造函数传参数在基本数据类型和引用类型之间的区别
Java中构造函数传参数在基本数据类型和引用类型的区别 如果构造函数中穿的参数为基本数据类型,如果在函数中没有返回值,在调用的时候不会发生改变:而如果是引用类型,改变的是存储的位置,所有不管有没有返回 ...
- mybatis 插入返回自增后的id
//serviceImpl int customerId = customerDao.insertDynamic(customer1); System.out.println("id==== ...