是否有一个python中与unix的“file”实用程序相当的工具?
在Unix系统中,有一个名为"file"的实用工具,它用于确定文件的类型。这个工具可以通过读取文件头部的"magic number"来判断文件的类型,但是对于一些没有文件头部的文件(如文本文件),"file"工具可能会猜测错误。为了在Python中实现类似的功能,有一些库可以使用。
其中一个库是"python-magic",可以从这里找到。另一个库是"pymagic",可以从这里找到。也可能还有其他类似的库,关键词是"magic"。
然而,这些库并不完美,因为它们也是通过读取文件头部的"magic number"来判断文件类型。对于一些没有文件头部的文件,这些库可能会猜测错误。这是所有基于内容嗅探的方法的一个共同问题。如果可接受的文件类型比库中已知的文件类型少,那么可以使用特定应用层的嗅探方法,但是对于一般情况,很难找到与"file"工具更接近的替代品。
需要注意的是,"pymagic"库似乎已经不再维护,而"python-magic"库仍然活跃。关于这个问题的一个回答可以在这里找到。
更新2014年:这两个库都已经不再维护。目前,"filemagic"库是实现类似功能的最新库,可以从这里找到。
更新2014年:我犯了一个错误。"python-magic"库仍然活跃。可以从这里找到。