Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Tìm MIME type của file trong Python (mimetypes, python-magic)

Cách 1: Module chuẩn mimetypes — đoán dựa trên extension (không đáng tin cậy 100%).

mimetypes

import mimetypes
mime_type, encoding = mimetypes.guess_type('my_file.txt')
print(mime_type)  # 'text/plain'
print(encoding)   # None

Có thể thêm mapping tùy chỉnh:

mimetypes.add_type('application/x-myformat', '.myext')

Cách 2: python-magic (đúng hơn, đọc magic bytes)

pip install python-magic  # Linux: libmagic-dev; Windows: python-magic-bin
import magic
mime = magic.Magic(mime=True)
print(mime.from_file('my_file.txt'))      # 'text/plain'
print(mime.from_buffer(b'%PDF...'))       # 'application/pdf'

So sánh

Tiêu chímimetypespython-magic
Độ tin cậyDựa trên extensionĐọc magic bytes (header)
DependencyBuilt-inCần libmagic system lib
Tốc độRất nhanhChậm hơn (I/O)