Enlaces de Python a libmagic
Todas las diferentes respuestas sobre este tema son muy confusas, por lo que espero dar un poco más de claridad con esta descripción general de los diferentes enlaces de libmagic. Anteriormente, mammadori dio una respuesta breve que enumeraba la opción disponible.
libmagic
Al determinar un tipo de archivos MIME, la herramienta de elección simplemente se llama file
y se llama a su back-end libmagic
. (Consulte la página de inicio del Proyecto ). El proyecto se desarrolla en un repositorio privado cvs, pero hay un espejo git de solo lectura en github .
Ahora esta herramienta, que necesitará si desea utilizar cualquiera de los enlaces de libmagic con python, ya viene con sus propios enlaces de python llamados file-magic
. No hay mucha documentación específica para ellos, pero siempre se puede echar un vistazo a la página del manual de la biblioteca C: man libmagic
. El uso básico se describe en el archivo Léame :
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)
Además de esto, también puede usar la biblioteca creando un Magic
objeto usando magic.open(flags)
como se muestra en el archivo de ejemplo .
Tanto toivotuo como ewr2san usan estos file-magic
enlaces incluidos en la file
herramienta. Asumen erróneamente que están usando el python-magic
paquete. Esto parece indicar, que si ambos file
y python-magic
están instalados, el módulo de Python magic
se refiere a la anterior.
pitón-magia
Esta es la biblioteca de la que Simon Zimmermann habla en su respuesta y que también es empleada por Claude COULOMBE y Gringo Suave .
filemagic
Nota : ¡Este proyecto se actualizó por última vez en 2013!
Debido a que se basa en la misma c-api, esta biblioteca tiene cierta similitud con la file-magic
incluida en libmagic
. Mammadori solo lo menciona y ninguna otra respuesta lo emplea.