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 ...
随机推荐
- 如何进行SQL排序
order by 语法如下: SELECT "栏位名" FROM "表格名" [WHERE "条件"] ORDER BY "栏位名 ...
- MySQL 数据 导入到 SQL Service
1.下载安装ODBC驱动程序 地址:http://dev.mysql.com/downloads/connector/odbc/ 注意:系统的版本问题( 我的是64位的win7系统,但是SQL Ser ...
- tensorflow serving 中 No module named tensorflow_serving.apis,找不到predict_pb2问题
最近在学习tensorflow serving,但是运行官网例子,不使用bazel时,发现运行mnist_client.py的时候出错, 在api文件中也没找到predict_pb2,因此,后面在网上 ...
- Conscription-最小生成树-Kruskal
Windy has a country, and he wants to build an army to protect his country. He has picked up N girls ...
- import模块
一.在import模块的时候发生的事情 1.寻找模块2.如果找到了,就开辟一块空间,执行这个模块3.把这个模块中用到的名字都录到新开辟的空间中4.创建一个变量来引用这个模块中 二.注意事项: *1.模 ...
- 对于“2017面向对象程序设计(JAVA)第四周学习总结”存在问题的反馈
对于“2017面向对象程序设计(JAVA)第四周学习总结”存在问题的反馈 “这部分同学博文总结没有写,实验作业没有提交.”——1.关于博文作业.实验作业教学功能的正解:学习知识.暴露问题.衔接课上.2 ...
- python爬取股票信息
import requests from bs4 import BeautifulSoup import traceback import re def getHTMLText(url): try: ...
- stevedore动态加载模块
stevedore动态加载模块,stevedore使用setuptools的entry points来定义并加载插件.entry point引用的是定义在模块中的对象,比如类.函数.实例等,只要在im ...
- Android笔记:Button
示例代码摘自<第一行代码> ButtonDemo.java的代码: public class ButtonDemo extends Activity { @Override protect ...
- vue生命周期简介
vue生命周期简介 生命周期的钩子 LifeCycle hooks 上面已经能够清晰的看到vue2.0都包含了哪些生命周期的钩子函数~~ 那么 执行顺序以及什么时候执行,我们上代码来看~~~ 生命周期 ...