【问题标题】:Python analog for linux "file" command [duplicate]linux“文件”命令的Python模拟[重复]
【发布时间】:2014-02-25 06:54:26
【问题描述】:

我正在寻找用 Python 制作的file linux 命令模拟。它应该提供有关文件类型的信息,如man file 中所述。我正在寻找的最小功能集是确定文件是原始文件还是文本(人类可读)文件。包装库将是一个很好的建议。 我知道,我可以将file 作为子进程运行并获取它的输出以确定文件类型。但是我的程序应该解析数千个文件,我担心在这种情况下执行时间会很长。

【问题讨论】:

标签: python linux file


【解决方案1】:

你需要检查文件的"magic" byte,我正要告诉你:

当我想到这个问题应该已经在 SO 和it has 上得到回答时。

注意:我没有像其他帖子那样列出 pymagic,因为它没有得到任何更新,因为 0.1 看起来很旧(甚至源网站都已关闭)。

对于 OSX:

brew install libmagic
pip install python-magic
python
>>> magic.from_file('test.py')
'Python script, ASCII text executable'

【讨论】:

  • 它不适用于 OS X Mavericks :(
  • 你需要安装libmagic:brew install libmagic
  • 它在 unicode 文件名上失败:(
猜你喜欢
  • 2012-01-24
  • 2015-09-05
  • 1970-01-01
  • 2019-08-14
  • 1970-01-01
  • 2012-12-02
  • 2011-06-14
  • 2016-12-03
  • 1970-01-01
相关资源
最近更新 更多