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 实现