Прив’язки пітона до лібмагічних
Усі різні відповіді на цю тему дуже заплутані, тому я сподіваюся дати трохи більше ясності в цьому огляді різних прив’язок лібмагічних. Раніше мамадорі дав коротку відповідь, перелічивши доступний варіант.
лібмагічний
Визначаючи файли mime-типу, інструмент вибору просто називається file
і називається його зворотним libmagic
. (Див. Домашню сторінку проекту .) Проект розроблений у приватному cvs-сховищі, але на github є дзеркало для читання лише для читання .
Тепер цей інструмент, який вам знадобиться, якщо ви хочете використовувати будь-яке з лібмагічних прив'язок з python, уже поставляється з власними прив'язками python file-magic
. Існує не так багато присвячених документацій для них, але ви завжди можете подивитися на людей сторінці з-бібліотеці: man libmagic
. Основне використання описано у файлі 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)
Крім цього, ви також можете використовувати бібліотеку, створюючи Magic
об'єкт, використовуючи, magic.open(flags)
як показано у файлі прикладу .
І toivotuo, і ewr2san використовують ці file-magic
прив'язки, що входять до file
інструменту. Вони помилково припускають, що вони використовують python-magic
пакет. Це, мабуть, вказує на те, що якщо обидва file
і python-magic
встановлені, модуль python magic
посилається на попередній.
пітон-магія
Це бібліотека, про яку розповідає Саймон Цимерман у своїй відповіді, і яку також використовують Клод КУЛЬМБЕ , а також Грінго Суаве .
filemagic
Примітка : Цей проект востаннє оновлений у 2013 році!
Завдяки тому, що базується на одній c-api, ця бібліотека має деяку схожість із file-magic
включеною в libmagic
. Це згадується лише мамадорі, і жодної іншої відповіді це не використовує.