Python使用magic判断文件MIME类型
创始人
2024-02-28 20:38:18
0

文章目录

  • 官网
  • 安装
  • 使用
    • 判断文件的MIME类型
    • 支持中文的代码
  • 问题

官网

  • GitHub - ahupp/python-magic: A python wrapper for libmagic

安装

  • pip install python-magic 
    pip install python-magic-bin
    
  • img

使用

判断文件的MIME类型

  • 代码

    • # encoding=utf-8
      import magic #pip install python-magic python-magic-bintype_info = magic.from_file("./data/123.pdf")
      print('file_type: %s' % type_info)#file_type: PDF document, version 1.6type_info = magic.from_buffer(open("./data/123.pdf",'rb').read(1024))
      print('file_type: %s' % type_info)#file_type: PDF document, version 1.6type_info = magic.from_file("./data/123.pdf", mime=True)
      print('file_type: %s' % type_info)#file_type: application/pdf
      
    • img

    • 需要注意的是,这种方法路径中不能出现中文,否则会报错

      • img

支持中文的代码

  • def distinguish_MIME_type(file_path):      #查看文件的MIME格式类型(支持中文) import magic  # pip install python-magic python-magic-bin mime_type = magic.from_buffer(open(file_path, 'rb').read(1024), mime=True) return mime_type file_path = 'E:/Documents/Desktop/中国.jpg' #获得选择好的文件 
    file_type = distinguish_MIME_type(file_path) 
    print("file_type:", file_type)
    
  • img

  • img

问题

  • magic不支持中文路径的文件名

    • img

    • 那就不要单纯使用文件名来判断了,而是使用打开文件的方式来判断

      • import magic #pip install python-magic python-magic-bin file_path = 'E:/Documents/Desktop/中国.jpg' #获得选择好的文件 
        type_info = magic.from_buffer(open(file_path,'rb').read(1024), mime=True)
        
      • img

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【Ctfer训练计划】——(三... 作者名:Demo不是emo  主页面链接:主页传送门 创作初心ÿ...