【问题标题】:How to get information of .jar file in python-magic如何在 python-magic 中获取 .jar 文件的信息
【发布时间】:2016-07-04 00:10:54
【问题描述】:

我有一个文件夹,里面装满了 jar、html、css、exe 类型的文件。如何查看文件?

我已经在 *NIX 上运行“文件”命令并使用 python-magic。但结果都是这样。

test : Zip archive data, at least v1.0 to extract

我怎样才能只使用幻数来获取像test : jar 这样的信息。

我该怎么做?

【问题讨论】:

  • 所有 jar 文件都是 zip 文件 - 你需要提取内容并手动确定它们是否可以被 Java 理解,或者只是相信 .jar 的文件扩展名将它们标记为 jar文件是真的。

标签: python python-magic


【解决方案1】:

虽然不是必需的,但大多数 JAR 文件都包含一个 META-INF/MANIFEST.MF 文件。在检查它是否为 zip 文件后,您可以检查该文件是否存在:

import zipfile

def zipFileContains(zipFileName, pathName):
    f = zipfile.ZipFile(zipFileName, "r")
    result = any(x.startswith(pathName.rstrip("/")) for x in f.namelist())
    f.close()

    return result

print zipFileContains("test.jar", "META-INF/MANIFEST.MF")

但是,最好只检查它是否是一个以.jar 结尾的 zip 文件。

仅靠魔法无法为您解决问题,因为 JAR 实际上只是一个 zip 文件。阅读有关here 格式的更多信息。

【讨论】:

    猜你喜欢
    • 2011-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-22
    • 2018-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多