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
を呼び出すと、次のようになります。
設計上、これは、ファイル拡張子が認識されるファイルを部分的に読み取る必要がないことを意味します。