Как получить информацию о файле.jar в python-magic

У меня есть папка, полная jar, html, css, exe type file. Как я могу проверить файл?

Я уже запускаю команду "file" в *NIX и использую python-magic. но результат все так.

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

Как я могу получить информацию конкретно как test : jar только используя магический номер.

Как мне это сделать?

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")

Тем не менее, может быть лучше просто проверить, является ли это ZIP-файл, который заканчивается .jar,

Волшебство само по себе не сделает этого за вас, поскольку JAR - это просто zip-файл. Подробнее о формате читайте здесь.

Другие вопросы по тегам