Dateiidentifikationsbibliothek für Python.
Geben Sie bei einer gegebenen Datei (oder einigen Informationen zu einer Datei) einen Satz standardisierter Tags zurück, die identifizieren, um welche Datei es sich handelt.
pip install identify
Wenn Sie eine tatsächliche Datei auf der Festplatte haben, können Sie möglichst viele Informationen erhalten (eine Obermenge aller anderen Methoden):
>> > 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' }
Bei Verwendung einer Datei auf der Festplatte werden folgende Prüfungen durchgeführt:
>> > 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
verfügt außerdem über eine API zur Bestimmung, welche Art von Lizenz in einer Datei enthalten ist. Diese Routine basiert grob auf den Ansätzen des Lizenznehmers (dem Ruby-Edelstein, den Github verwendet, um die Lizenz für ein Repo herauszufinden).
Der Ansatz zur identify
von Verwendungen ist wie folgt:
Um die API zu verwenden, installieren Sie sie über pip install identify[license]
>>> from identify import identify
>>> identify.license_id( ' LICENSE ' )
'MIT'
Der Rückgabewert der Funktion license_id
ist eine SPDX-ID. Derzeit werden Lizenzen von Choosealicense.com bezogen.
Ein Aufruf von tags_from_path
bewirkt Folgendes:
Das bedeutet konstruktionsbedingt, dass wir Dateien, bei denen wir die Dateierweiterung erkennen, nicht teilweise lesen müssen.