Как прочитать файл JAR внутри ZIP-файла с помощью Python - PullRequest
0 голосов
/ 06 июня 2018

У меня есть большой zip-файл, который содержит много jar-файлов.Я хочу прочитать содержимое файлов jar.

Я попытался прочитать внутренний файл JAR в память, которая, кажется, работает (см. Ниже).Однако я не уверен, насколько большими могут быть файлы jar, и обеспокоен тем, что они не помещаются в память.

Есть ли потоковое решение для этой проблемы?

hello.zip
+- hello.jar
   +- Hello.class

#!/usr/local/bin/python3
import os
import io
import zipfile

zip = zipfile.ZipFile('hello.zip', 'r')
for zipname in zip.namelist():
    if zipname.endswith('.jar'):
        print(zipname)
        jarname = zip.read(zipname)
        memfile = io.BytesIO(jarname)
        jar = zipfile.ZipFile(memfile) 
        for f in jar.namelist():
            print(f)

hello.jar
META-INF/
META-INF/MANIFEST.MF
Hello.class
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...