Python ràng buộc với libmagic
Tất cả các câu trả lời khác nhau về chủ đề này đều rất khó hiểu, vì vậy tôi hy vọng sẽ làm rõ hơn một chút với tổng quan này về các ràng buộc khác nhau của libmagic. Trước đây mammadori đã đưa ra một câu trả lời ngắn liệt kê các tùy chọn có sẵn.
thất vọng
Khi xác định loại tệp mime, công cụ lựa chọn được gọi đơn giản file
và back-end của nó được gọi libmagic
. (Xem trang chủ Dự án .) Dự án được phát triển trong kho lưu trữ cvs riêng, nhưng có một gương git chỉ đọc trên github .
Bây giờ công cụ này, mà bạn sẽ cần nếu bạn muốn sử dụng bất kỳ ràng buộc libmagic nào với python, đã đi kèm với các ràng buộc python riêng của nó được gọi file-magic
. Không có nhiều tài liệu dành riêng cho họ, nhưng bạn luôn có thể xem trang người đàn ông của thư viện c : man libmagic
. Cách sử dụng cơ bản được mô tả trong tệp readme :
import magic
detected = magic.detect_from_filename('magic.py')
print 'Detected MIME type: {}'.format(detected.mime_type)
print 'Detected encoding: {}'.format(detected.encoding)
print 'Detected file type name: {}'.format(detected.name)
Ngoài ra, bạn cũng có thể sử dụng thư viện bằng cách tạo một Magic
đối tượng bằng cách sử dụng magic.open(flags)
như trong tệp ví dụ .
Cả to Pivotuo và ewr2san đều sử dụng các file-magic
ràng buộc này có trong file
công cụ. Họ lầm tưởng, họ đang sử dụng python-magic
gói. Điều này dường như chỉ ra rằng, nếu cả hai file
vàpython-magic
được cài đặt, mô-đun python magic
đề cập đến mô-đun cũ.
trăn-ma thuật
Đây là thư viện mà Simon Zimmermann nói về câu trả lời của mình và cũng được Claude COULOMBE sử dụng cũng như Gringo Suave sử dụng .
hiếu thảo
Ghi chú : Dự án này được cập nhật lần cuối vào năm 2013!
Do được dựa trên cùng một c-api, thư viện này có một số điểm tương đồng với file-magic
bao gồm trong libmagic
. Nó chỉ được đề cập bởi mammadori và không có câu trả lời nào khác sử dụng nó.