Python เชื่อมโยงกับ libmagic
คำตอบที่แตกต่างกันทั้งหมดในหัวข้อนี้สับสนมากดังนั้นฉันหวังว่าจะให้ความกระจ่างกับภาพรวมของการเชื่อม libmagic ที่แตกต่างกันเล็กน้อย ก่อนหน้านี้ mammadori ให้คำตอบสั้น ๆกับรายการตัวเลือกที่มี
libmagic
เมื่อพิจารณาไฟล์ประเภท Mime, เครื่องมือของทางเลือกเป็นเพียงการเรียกfile
และ back-end libmagic
ที่เรียกว่า (ดูหน้าแรกของโครงการ .) โครงการนี้ได้รับการพัฒนาในภาคเอกชน CVS-พื้นที่เก็บข้อมูล แต่มีการอ่านอย่างเดียวกระจกคอมไพล์บน GitHub
ตอนนี้เครื่องมือนี้ซึ่งคุณจะต้องใช้หากคุณต้องการใช้การผูก libmagic กับ python ใด ๆ มาพร้อมกับการผูก python ของมันเองfile-magic
แล้ว ไม่มีเอกสารทุ่มเทมากสำหรับพวกเขา แต่คุณก็สามารถดูได้ที่หน้าคนของ man libmagic
c-ห้องสมุด: การใช้งานพื้นฐานอธิบายไว้ในไฟล์ 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
รับการติดตั้งแล้วโมดูลไพ ธ อนจะmagic
อ้างถึงตัวเก่า
หลามมายากล
นี่คือห้องสมุดที่ Simon Zimmermann พูดถึงในคำตอบของเขาและยังใช้โดยClaude COULOMBEและGringo Suaveด้วย
filemagic
บันทึก : โครงการนี้ได้รับการปรับปรุงล่าสุดในปี 2013!
เนื่องจากอยู่บนพื้นฐานเดียวกัน C-API, ห้องสมุดนี้มีความคล้ายคลึงกันบางคนที่มีรวมอยู่ในfile-magic
libmagic
มันถูกกล่าวถึงโดยmammadori เท่านั้นและไม่มีคำตอบอื่นใดที่ใช้มัน