Linux "file"命令的 Python 模拟

标签 python linux 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/

相关文章:

python - 在anaconda上的python脚本中指定hdfs目录的路径

多个操作系统中的 MySQL 数据库

linux - shell脚本移动和复制

C - 将重复的数组记录写入文本文件

python - 如何使用 Python 在挂载之间 move 文件?

python - Web2py:如何获取 FieldStorage 中的项目?

python - 绘制包含许多组件的图形时节点大小不正确

python - 找出由输入数字的数字组成的最大数字

c - errno 是线程安全的吗?

C++ 将文件从资源复制到目录?