identify
1.0.0
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 用於確定儲存庫許可證的 ruby gem)。
identify
用途的方法如下:
若要使用 api,請透過pip install identify[license]
安裝
>>> from identify import identify
>>> identify.license_id( ' LICENSE ' )
'MIT'
license_id
函數的回傳值是 SPDX id。目前許可證來自 Choosealicense.com。
對tags_from_path
呼叫會執行下列操作:
根據設計,這意味著我們不需要部分讀取我們識別檔案副檔名的檔案。