مكتبة تعريف الملفات لبيثون.
عند إعطاء ملف (أو بعض المعلومات حول ملف)، قم بإرجاع مجموعة من العلامات القياسية التي تحدد ماهية الملف.
pip install identify
إذا كان لديك ملف فعلي على القرص، فيمكنك الحصول على أكبر قدر ممكن من المعلومات (مجموعة شاملة من جميع الطرق الأخرى):
>> > from identify import identify
>> > identify . tags_from_path ( '/path/to/file.py' )
{ 'file' , 'text' , 'python' , 'non-executable' }
>> > identify . tags_from_path ( '/path/to/file-with-shebang' )
{ 'file' , 'text' , 'shell' , 'bash' , 'executable' }
>> > identify . tags_from_path ( '/bin/bash' )
{ 'file' , 'binary' , 'executable' }
>> > identify . tags_from_path ( '/path/to/directory' )
{ 'directory' }
>> > identify . tags_from_path ( '/path/to/symlink' )
{ 'symlink' }
عند استخدام ملف على القرص، فإن الفحوصات التي يتم إجراؤها هي:
>> > identify . tags_from_filename ( 'file.py' )
{ 'text' , 'python' }
>> > identify . tags_from_interpreter ( 'python3.5' )
{ 'python' , 'python3' }
>> > identify . tags_from_interpreter ( 'bash' )
{ 'shell' , 'bash' }
>> > identify . tags_from_interpreter ( 'some-unrecognized-thing' )
set ()
$ identify-cli --help
usage: identify-cli [-h] [--filename-only] path
positional arguments:
path
optional arguments:
-h, --help show this help message and exit
--filename-only
$ identify-cli setup.py ; echo $?
["file", "non-executable", "python", "text"]
0
$ identify-cli setup.py --filename-only ; echo $?
["python", "text"]
0
$ identify-cli wat.wat ; echo $?
wat.wat does not exist.
1
$ identify-cli wat.wat --filename-only ; echo $?
1
يحتوي identify
أيضًا على واجهة برمجة تطبيقات لتحديد نوع الترخيص الموجود في الملف. يعتمد هذا الروتين تقريبًا على الأساليب التي يستخدمها المرخص له (جوهرة الياقوت التي يستخدمها جيثب لمعرفة ترخيص الريبو).
النهج الذي identify
الاستخدامات هو كما يلي:
لاستخدام واجهة برمجة التطبيقات، قم بالتثبيت عبر pip install identify[license]
>>> from identify import identify
>>> identify.license_id( ' LICENSE ' )
'MIT'
القيمة المرجعة للدالة license_id
هي معرف SPDX. يتم الحصول على التراخيص حاليًا من موقع Choosealicense.com.
يؤدي استدعاء tags_from_path
إلى ما يلي:
حسب التصميم، هذا يعني أننا لسنا بحاجة إلى قراءة الملفات جزئيًا حيث نتعرف على امتداد الملف.