ไลบรารีการระบุไฟล์สำหรับ Python
เมื่อได้รับไฟล์ (หรือข้อมูลบางอย่างเกี่ยวกับไฟล์) ให้ส่งคืนชุดแท็กมาตรฐานเพื่อระบุว่าไฟล์นั้นคืออะไร
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
ยังมี API สำหรับกำหนดประเภทของใบอนุญาตที่มีอยู่ในไฟล์ รูทีนนี้อิงตามแนวทางที่ผู้รับใบอนุญาตใช้โดยประมาณ (อัญมณีทับทิมที่ github ใช้เพื่อค้นหาใบอนุญาตสำหรับ repo)
แนวทางการ identify
การใช้งานมีดังนี้:
หากต้องการใช้ API ให้ติดตั้งผ่าน pip install identify[license]
>>> from identify import identify
>>> identify.license_id( ' LICENSE ' )
'MIT'
ค่าที่ส่งคืนของฟังก์ชัน license_id
คือ SPDX id ปัจจุบันใบอนุญาตมีที่มาจาก choosealicense.com
การเรียกไปที่ tags_from_path
ทำสิ่งนี้:
จากการออกแบบ หมายความว่าเราไม่จำเป็นต้องอ่านไฟล์บางส่วนที่เรารู้จักนามสกุลไฟล์