<分区>
我正在寻找用 Python 编写的 file
linux 命令模拟。它应该提供有关文件类型的信息,如 man file
中所述。我正在寻找的最小功能集是确定文件是原始文件还是文本(人类可读)文件。包装库将是一个很好的建议。
我知道,我可以将 file
作为子进程运行并获取它的输出以确定文件类型。但是我的程序应该解析数千个文件,我担心在这种情况下执行时间会很长。
<分区>
我正在寻找用 Python 编写的 file
linux 命令模拟。它应该提供有关文件类型的信息,如 man file
中所述。我正在寻找的最小功能集是确定文件是原始文件还是文本(人类可读)文件。包装库将是一个很好的建议。
我知道,我可以将 file
作为子进程运行并获取它的输出以确定文件类型。但是我的程序应该解析数千个文件,我担心在这种情况下执行时间会很长。
最佳答案
你需要检查"magic" byte的文件,我正要告诉你:
当我想到这个问题应该已经在 SO 上得到回答时,it has .
N.B.:我没有像其他帖子那样列出 pymagic
,因为自 0.1
以来它没有得到任何更新,它看起来很旧(甚至源网站是下)。
对于 OSX:
brew install libmagic
pip install python-magic
python
>>> magic.from_file('test.py')
'Python script, ASCII text executable'
关于Linux "file"命令的 Python 模拟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21499384/