بعد انهاء فصل ال FFI من RWH وقراية libghc-magic افتكرت ان بايثون كمان ليها FFL وهى ctypes فليه لأ ؟ كتبت واحد كامل لبايثون بالإعتماد على ctypes -بالمناسبة بردو ctypes مستخدمه مع pyinotify-
على كل حال pymagic بتشمل كل الثوابت الموجودة فى magic.h وبتكشف الدوال الآتيه
magic_t magic_open(int); void magic_close(magic_t); const char *magic_file(magic_t, const char *); const char *magic_descriptor(magic_t, int); const char *magic_buffer(magic_t, const void *, size_t); const char *magic_error(magic_t); int magic_setflags(magic_t, int); int magic_load(magic_t, const char *); int magic_compile(magic_t, const char *); int magic_check(magic_t, const char *); int magic_errno(magic_t);
مثال مباشر على الإستخدام للحج ستورم
http://www.linuxac.org/forum/showpost.php?...mp;postcount=11
xmonader@xmonader-desktop:~$ pymagic.py twitter.xml twitter.xml: XML xmonader@xmonader-desktop:~$ pymagic.py VirtualTerminal.pyc VirtualTerminal.pyc: python 2.5 byte-compiled xmonader@xmonader-desktop:~$ pymagic.py Allison-Iraheta-2009-03-10.mp3 Allison-Iraheta-2009-03-10.mp3: Audio file with ID3 version 2.3, MP3 encoding
يستحسن تستخدم guess
>>> F="/home/xmonader/Allison-Iraheta-2009-03-10.mp3" >>> guess(F) 'Audio file with ID3 version 2.3, MP3 encoding'
للتحميل
https://sourceforge.net/projects/pymagic/
اى تعليقات او ملاحظات ؟
هتجد جزء من ال man page الخاصة ب libmagic فى هيدر pymagic بيشمل كل function ووظيفتها والريترن والبرمترز