python使用magic模块进行文件类型识别方法

代码实例

python-magic是libmagic文件类型识别库的python接口。 libmagic通过根据预定义的文件类型列表检查它们的头文件来识别文件类型。 这个功能通过Unix命令文件暴露给命令行。

>>> import magic
>>> magic.from_file("testdata/test.pdf")
'PDF document, version 1.2'
>>> magic.from_buffer(open("testdata/test.pdf").read(1024))
'PDF document, version 1.2'
>>> magic.from_file("testdata/test.pdf", mime=True)
'application/pdf'

还有一个Magic类提供更直接的控制,包括覆盖魔术数据库文件并开启字符编码检测。 这不建议用于一般用途。 特别是,跨多个线程共享并不安全,如果尝试这样做会失败。

>>> f = magic.Magic(uncompress=True)
>>> f.from_file('testdata/test.gz')
'ASCII text (gzip compressed data, was "test", last modified: Sat Jun 28
21:32:52 2008, from Unix)'

还可以结合标志选项:

>>> f = magic.Magic(mime=True, uncompress=True)
>>> f.from_file('testdata/test.gz')
'text/plain'

以上这篇python使用magic模块进行文件类型识别方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 简单掌握Python中glob模块查找文件路径的用法

    glob使用UNIX shell规则查找与一个模式匹配的文件名.只要程序需要查找文件系统中名字与某个模式匹配的一组文件,就可以使用这个模块. glob的模式规则与re模块使用的正则表达式不相同.glob模式遵循标准UNIX路径扩展规则.只是用几个特殊字符来实现两个不同的通配符和字符区间.模式规则要应用于文件名中的段.模式中的路径可以是相对路径或绝对路径. shell变量名和波浪线都不会扩展. 基本用法 1.glob.glob(pathname), 返回所有匹配的文件路径列表.它只有一个参数pat

  • 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开发包,主要用来获得文件类型.包要求Pyt

  • 详解Python读取配置文件模块ConfigParser

    1,ConfigParser模块简介 假设有如下配置文件,需要在Pyhton程序中读取 $ cat config.ini [db] db_port = 3306 db_user = root db_host = 127.0.0.1 db_pass = xgmtest [SectionOne] Status: Single Name: Derek Value: Yes Age: 30 Single: True [SectionTwo] FavoriteColor = Green [SectionT

  • 通过Python模块filecmp 对文件比较的实现方法

    filecmp定义了两个函数,用于方便地比较文件与文件夹:     filecmp.cmp(f1, f2[, shallow]): 比较两个文件的内容是否匹配.参数f1, f2指定要比较的文件的路径.可选参数shallow指定比较文件时是否需要考虑文件本身的属性(通过   os.stat函数可以获得文件属性).如果文件内容匹配,函数返回True,否则返回False, import filecmp s = filecmp.cmp("qin.txt", "jian.txt&quo

  • Python用imghdr模块识别图片格式实例解析

    imghdr模块 功能描述:imghdr模块用于识别图片的格式.它通过检测文件的前几个字节,从而判断图片的格式. 唯一一个API imghdr.what(file, h=None) 第一个参数file可以是用rb模式打开的file对象或者表示路径的字符串和PathLike对象.h参数是一段字节串.函数返回表示图片格式的字符串. >>> import imghdr >>> imghdr.what('test.jpg') 'jpeg' 具体的返回值和描述如下: 返回值 描述

  • python使用magic模块进行文件类型识别方法

    代码实例 python-magic是libmagic文件类型识别库的python接口. libmagic通过根据预定义的文件类型列表检查它们的头文件来识别文件类型. 这个功能通过Unix命令文件暴露给命令行. >>> import magic >>> magic.from_file("testdata/test.pdf") 'PDF document, version 1.2' >>> magic.from_buffer(open(

  • python通过文件头判断文件类型

    对于提供上传的服务器,需要对上传的文件进行过滤. 本文为大家提供了python通过文件头判断文件类型的方法,避免不必要的麻烦. 分享代码如下 import struct # 支持文件类型 # 用16进制字符串的目的是可以知道文件头是多少字节 # 各种文件头的长度不一样,少半2字符,长则8字符 def typeList(): return { "52617221": EXT_RAR, "504B0304": EXT_ZIP} # 字节码转16进制字符串 def byt

  • Python基于hashlib模块的文件MD5一致性加密验证示例

    本文实例讲述了Python基于hashlib模块的文件MD5一致性加密验证.分享给大家供大家参考,具体如下: 使用hashlib模块,可对文件MD5一致性加密验证: #python 检测文件MD5值 #python version 2.6 import hashlib import os,sys #简单的测试一个字符串的MD5值 def GetStrMd5(src): m0=hashlib.md5() m0.update(src) print m0.hexdigest() pass #大文件的M

  • python多个模块py文件的数据共享实例

    模块a.py 想用 b.py中公有数据 cnt b的python文件 #!/usr/bin/env python # coding:utf8 from wx import CallAfter,MessageBox,Timer,EVT_TIMER import math try: import xml.etree.clementTree as ET except: import xml.etree.ElementTree as ET cnt= 0 class fileUtils(object):

  • python利用os模块编写文件复制功能——copy()函数用法

    我就废话不多说了,大家还是直接看代码吧~ #文件复制 import os src_path=r'E:\Pycharm\python100题\代码' target_path=r'E:\Pycharm\python100题\123' #封装成函数 def copy_function(src,target): if os.path.isdir(src) and os.path.isdir(target): filelist=os.listdir(src) for file in filelist: p

  • Python利用shutil模块实现文件的裁剪与压缩

    目录 利用 shutil 实现文件的裁剪(移动.重命名) 文件的删除 利用 shutil 实现文件的压缩 利用 shutil 实现文件的解压缩 今天的章节我们来学习一下文件的裁剪.压缩与解压缩.所谓的文件裁剪就是从目前文件路径A移动到目标文件路径B ,A 与 B可能是相同的,也有可能是不同的.当目标移动之后,A 路径下就不存在这个文件了,只存在目标路径 B 下.但是也支持目标 A 下的名称进行改变,所以它也是一个变相的重命名.至于压缩与解压缩,这里就不需要过多的语言解释了吧… 都懂的… 利用 s

  • Python利用shutil模块实现文件夹的复制删除与裁剪

    目录 文件夹的复制 文件夹的删除 文件夹的裁剪(移动.重命名) 文件夹的复制 文件夹复制使用的函数 导入包与模块 `from shutil import copytree 使用方法: copytree(来源目录, 目标目录) 代码示例如下:(目标已存在目录) # coding:utf-8 from shutil import copytree copytree('test03', 'test02') # 需要注意的是,使用 "copytree()" 函数时,目标目录是不能存在的 # 否

  • python使用tkinter模块实现文件选择功能

    目录 前言 1.导入库和模块 2.编写按钮命令 3. 窗体初始化及布局 4.运行 前言 学习Python中,总想做个图形界面,找来找去,找到了tkinter. 练习内容:图形界面中,点击按钮后,利用弹出对话框选择文件(或文件夹) 1.导入库和模块 import tkinter as tk from tkinter import filedialog 此处练习过程中出现的错误:在没有第2个导入语句时,使用 tk.filedialog 后,提示错误,显示 Cannot find reference

  • Python利用watchdog模块监控文件变化

    目录 1.准备 2.基本使用 3.监控文件变化 假设现在有一个应用场景,需要对文件系统进行监控,发生变化时产生日志,对新增的文件做一些相应的操作. 比如说应用到我们之前的音乐高潮提取器:若当前文件夹下增加了一个音乐文件,监控器就调用音乐高潮提取器,自动提取该音乐文件的高潮部分. 这样的监控器写起来也不难,但是很花时间,有许多情况要考虑.不过幸好我们是写Python的,有许多轮子可以使用,本文介绍的就是一个名为 watchdog 的模块,它能帮助我们实现上述功能. 1.准备 开始之前,你要确保Py

随机推荐