Libmagic'e Python bağları
Bu konudaki tüm farklı cevaplar çok kafa karıştırıcı, bu yüzden libmagic'in farklı bağlarına genel bakış ile biraz daha açıklık vermeyi umuyorum. Daha önce mammadori , mevcut seçeneği listeleyen kısa bir cevap verdi .
Libmagic
Mime tipi bir dosya belirlenirken, seçim aracı basitçe çağrılır fileve arka ucu çağrılır libmagic. (Bkz. Proje ana sayfası .) Proje özel bir cvs deposunda geliştirildi, ancak github'da salt okunur bir git aynası var .
Python ile herhangi bir libmagic bağlamayı kullanmak istiyorsanız ihtiyacınız olacak bu araç, zaten kendi python bağlamaları ile birlikte geliyor file-magic. Orada onlar için çok özel belgeler değil, ama her zaman c-kütüphane adam sayfasına bir göz olabilir: man libmagic. Temel kullanım benioku dosyasında açıklanmıştır :
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)
Bunun dışında , örnek dosyada gösterildiği gibi Magickullanarak bir nesne oluşturarak kitaplığı da kullanabilirsiniz .magic.open(flags)
Hem toivotuo hem de ewr2san , alette bulunan bu file-magicbağları kullanır file. Yanlışlıkla python-magicpaketi kullandıklarını varsayıyorlar . Bu, hem fileve hem python-magicde kurulu ise, python modülünün öncekine magicatıfta bulunduğunu gösterir.
piton-büyü
Bu, Simon Zimmermann'ın cevabında bahsettiği ve Claude COULOMBE ve Gringo Suave tarafından da kullanılan kütüphane .
filemagic
Not : Bu proje en son 2013 yılında güncellendi!
Aynı c-api'ye dayandığı için, bu kütüphane file-magiciçeriyor libmagic. Sadece mammadori tarafından bahsedilir ve başka hiçbir cevap bunu kullanmaz.