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
调用会执行以下操作:
根据设计,这意味着我们不需要部分读取我们识别文件扩展名的文件。