पायथन बाइंडिंग के लिए कामेच्छा
इस विषय पर सभी अलग-अलग उत्तर बहुत ही भ्रमित करने वाले हैं, इसलिए मैं कामेच्छा के विभिन्न बंधनों के इस अवलोकन के साथ थोड़ा और स्पष्टता देने की उम्मीद कर रहा हूं। पहले मम्मादोरी ने छोटा जवाब दिया था उपलब्ध विकल्प को ।
libmagic
फ़ाइलें माइम-प्रकार का निर्धारण करते समय, पसंद का उपकरण बस कहा जाता है fileऔर इसके बैक-एंड कहा जाता है libmagic। ( प्रोजेक्ट होम पेज देखें ।) इस परियोजना को एक निजी cvs-रिपॉजिटरी में विकसित किया गया है, लेकिन गितुब पर केवल पढ़ने के लिए दर्पण है ।
अब यह उपकरण, जिसकी आपको आवश्यकता होगी यदि आप अजगर के साथ कामेच्छा के किसी भी बंधन का उपयोग करना चाहते हैं, तो पहले से ही अपने स्वयं के अजगर बाइंडिंग के साथ आता है file-magic। उनके लिए बहुत अधिक समर्पित दस्तावेज नहीं है, लेकिन आप हमेशा सी-लाइब्रेरी के मैन पेज पर एक नज़र डाल सकते हैं man libmagic:। मूल उपयोग रीडमी फ़ाइल में वर्णित है :
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)
टूव्यूओ और ईआरआर 2 एसएन दोनों उपकरण file-magicमें शामिल इन बाइंडिंग का उपयोग करते हैं file। वे गलती से मान लेते हैं, वे python-magicपैकेज का उपयोग कर रहे हैं । यह इंगित करता है, कि यदि दोनों fileऔर python-magicस्थापित हैं, तो अजगर मॉड्यूल magicपूर्व को संदर्भित करता है।
अजगर-जादू
यह वह पुस्तकालय है जिसके बारे में साइमन ज़िमरमन अपने उत्तर में बात करते हैं और जिसे क्लाउड कॉउबे के साथ-साथ ग्रिंगो सुवे द्वारा नियोजित भी किया जाता है ।
filemagic
नोट : यह परियोजना आखिरी बार 2013 में अपडेट की गई थी!
एक ही सी-api के आधार पर किया जा रहा के कारण, इस पुस्तकालय के साथ कुछ समानता है file-magicमें शामिल libmagic। यह केवल मम्मादोरी द्वारा उल्लिखित है और कोई अन्य उत्तर इसे नियुक्त नहीं करता है।