Rozpakuj zagnieżdżone pliki zip w Pythonie

Szukam sposobu na rozpakowanie zagnieżdżonych plików zip w Pythonie. Na przykład rozważ następującą strukturę (hipotetyczne nazwy dla ułatwienia):

TeczkaZipfileA.zipZipfileA1.zipZipfileA2.zipZipfileB.zipZipfileB1.zipZipfileB2.zip

...itp. Próbuję uzyskać dostęp do plików tekstowych znajdujących się w drugim zipie. Z pewnością nie chcę wszystkiego wyodrębniać, ponieważ liczby ścinania spowodowałyby awarię komputera (w pierwszej warstwie jest kilkaset zamków błyskawicznych, a w drugiej warstwie - prawie 10 000).

Bawiłem się z modułem „zipfile” - jestem w stanie otworzyć pierwszy poziom plików zip. Na przykład.:

zipfile_obj = zipfile.ZipFile("/Folder/ZipfileA.zip")
next_layer_zip = zipfile_obj.open("ZipfileA1.zip")

Zwraca to jednak instancję „ZipExtFile” (nie jest to instancja pliku lub pliku zip) - nie mogę wtedy kontynuować i otwierać tego konkretnego typu danych. Że nie mogę tego zrobić:

data = next_layer_zip.open(data.txt)

Mogę jednak „odczytać” ten plik zip za pomocą:

next_layer_zip.read()

Ale to jest całkowicie bezużyteczne! (tj. może czytać tylko skompresowane dane / goobledigook).

Czy ktoś ma jakieś pomysły na to, jak mogę to zrobić (bez przy użyciu ZipFile.extract) ??

Natknąłem się na to,http://pypi.python.org/pypi/zip_open/ - który wygląda dokładnie tak, jak chcę, ale wydaje mi się, że nie działa. (uzyskaj „Errno 2] Brak takiego pliku lub katalogu:” dla plików, które próbuję przetworzyć, za pomocą tego modułu).

Jakiekolwiek pomysły będą mile widziane!! Z góry dziękuję

questionAnswers(4)

yourAnswerToTheQuestion