file-magic 获取文件的类型
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 实现
- gabriel-vasile/mimetype
- h2non/filetype 通过文件magic code判断文件类型,参考