file-magic 获取文件的类型

发布时间: 更新时间: 总字数:200 阅读时间:1m 作者: IP上海 分享 网址

file-magic库是基于libmagic的实现Python ctypes接口,用来获取文件的类型。

file-magic 介绍

MIME(Multipurpose Internet Mail Extensions, 多用途互联网邮件扩展类型) 是设定某种扩展名的文件用一种应用程序来打开的方式类型

安装

pip install file-magic

使用

import magic

detected = magic.detect_from_filename('magic.py')
print(f'Detected MIME type: {detected.mime_type}')
print(f'Detected encoding: {detected.encoding}')
print(f'Detected file type name: {detected.name}')

type_info = magic.from_file("magic.py")
print(f'file_type: {type_info}')

type_info = magic.from_buffer(open("magic.py",'rb').read(1024))
print(f'file_type: {type_info}')

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

扩展

mimetypes

import mimetypes

print(mimetypes.guess_type(filename)[0])

filetype

import filetype

kind = filetype.guess(file_path)

png 图像文件

with open('1.png','rb') as f:
  x = f.read(24)
  len = x[16:20]
  print(int.from_bytes(len, 'big'))
  height = f[20:24]
  print(int.from_bytes(height, 'big'))
  struct.unpack('i', height)

Golang 实现

参考

  1. https://pypi.org/project/file-magic/
  2. https://darwinsys.com/file/
Home Archives Categories Tags Statistics
本文总阅读量 次 本站总访问量 次 本站总访客数