我正在寻找用Python制作的file
linux命令模拟器。它应该提供有关文件类型的信息,如man file
中所述。我正在寻找的最小特征集是确定文件是原始文件还是文本(人类可读)文件。包装库将是一个很好的建议。
我知道,我可以运行file
作为子进程并抓住它的输出来确定文件类型。但我的程序应该解析成千上万的文件,在这种情况下我害怕很长的执行时间。
答案 0 :(得分:1)
您需要检查文件的"magic" byte,我即将告诉您:
当我发现这个问题应该已经在SO上回答了it has。
注意:我没有像其他帖子那样列出pymagic
,因为它0.1
看起来很旧(即使源网站已经关闭)也没有得到任何更新。
for OSX:
brew install libmagic
pip install python-magic
python
>>> magic.from_file('test.py')
'Python script, ASCII text executable'