使用python进行文件扩展名验证

时间:2013-08-30 21:02:22

标签: python linux file-extension file-type

我想检查给定文件的扩展名是否正确。例如,有人给我一个扩展名为.zip的文件,但实际上它可能是一个可执行文件。

使用mimetypes我无法确定文件的真实类型。据我所知,mimetypes需要扩展。

我可以将unix file命令的输出映射到一些扩展名。即使您更改了扩展名,也无法欺骗file命令。但是,此解决方案需要一个子流程。

我想,这个问题可能有更多的pythonic解决方案。有谁知道吗?

2 个答案:

答案 0 :(得分:1)

搜索用于libmagic命令的C库名称(file),网3 interesting python packages on PyPI

答案 1 :(得分:0)

归根结底,没有绝对的认识方式。有几个原因:

  • 某些文件格式使用简单标识符,但其他文件格式不使用。
  • 对于那些不这样做的人,唯一的方法是分析能够使格式化的程序的行为。如果程序可以成功打开文件,那么它就属于它。
  • 但如果没有,该文件可能属于您没有打开程序的数百种格式。

我担心你需要满足于你已经拥有的部分答案。