2016-07-04 3 views
1

J'ai un dossier complet de fichier jar, html, css, exe type. Comment puis-je vérifier le fichier?Comment obtenir des informations de fichier .jar dans python-magic

Je cours déjà la commande "file" sur * NIX et j'utilise python-magic. mais le résultat est tout comme ça.

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

Comment puis-je obtenir des informations spécifiques comme test : jar utilisant uniquement en utilisant le numéro magique.

Comment puis-je faire comme ça?

+0

Tous les fichiers jar sont des fichiers zip - vous devez extraire le contenu et déterminer manuellement s'ils peuvent être compris par Java, ou juste croire que l'extension du fichier '.jar' les marquant comme fichiers' jar' est vraie. – metatoaster

Répondre

0

Bien que cela ne soit pas obligatoire, la plupart des fichiers JAR contiennent un fichier META-INF/MANIFEST.MF. Vous pouvez vérifier l'existence de ce fichier, après avoir vérifié si elle est un fichier 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") 

Cependant, il pourrait être préférable de vérifier que si elle est un fichier zip qui se termine par .jar. Magic seul ne le fera pas pour vous, car un JAR est littéralement juste un fichier zip. En savoir plus sur le format here.