2016-07-04 2 views
1

jar, html, css, exe 형식의 파일로 가득 찬 폴더가 있습니다. 파일을 어떻게 확인할 수 있습니까?python-magic에서 .jar 파일의 정보를 얻는 방법

이미 * NIX에서 "file"명령을 실행하고 python-magic을 사용합니다. 결과는 모두 이와 같습니다.

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

어떻게 난 단지 매직 넘버를 사용하여 특별히 test : jar 같은 정보를 얻을 수 있습니다.

어떻게하면됩니까?

+0

모든 jar 파일은 zip 파일입니다. 내용을 추출하고 Java에서 이해할 수 있는지 여부를 수동으로 결정하거나'.jar' 파일 이름 확장자를'jar' 파일로 표시하는 것을 신뢰해야합니다. – metatoaster

답변

0

대부분의 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 파일이므로 Magic만으로는 사용자를 대신하지 않습니다. 형식 here에 대해 자세히 알아보십시오.