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 file
ve 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 Magic
kullanarak bir nesne oluşturarak kitaplığı da kullanabilirsiniz .magic.open(flags)
Hem toivotuo hem de ewr2san , alette bulunan bu file-magic
bağları kullanır file
. Yanlışlıkla python-magic
paketi kullandıklarını varsayıyorlar . Bu, hem file
ve hem python-magic
de kurulu ise, python modülünün öncekine magic
atı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-magic
içeriyor libmagic
. Sadece mammadori tarafından bahsedilir ve başka hiçbir cevap bunu kullanmaz.