Pustaka identifikasi file untuk Python.
Mengingat sebuah file (atau beberapa informasi tentang file), kembalikan serangkaian tag standar yang mengidentifikasi file tersebut.
pip install identify
Jika Anda memiliki file sebenarnya di disk, Anda bisa mendapatkan informasi sebanyak mungkin (superset dari semua metode lainnya):
>> > 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' }
Saat menggunakan file di disk, pemeriksaan yang dilakukan adalah:
>> > 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
juga memiliki api untuk menentukan jenis lisensi apa yang terkandung dalam suatu file. Rutinitas ini secara kasar didasarkan pada pendekatan yang digunakan oleh pemegang lisensi (permata rubi yang digunakan github untuk mengetahui lisensi repo).
Pendekatan yang identify
kegunaannya adalah sebagai berikut:
Untuk menggunakan api, instal melalui pip install identify[license]
>>> from identify import identify
>>> identify.license_id( ' LICENSE ' )
'MIT'
Nilai kembalian fungsi license_id
adalah id SPDX. Saat ini lisensi bersumber dari selectalicense.com.
Panggilan ke tags_from_path
melakukan hal ini:
Secara desain, ini berarti kita tidak perlu membaca sebagian file yang ekstensi filenya kita kenali.