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ę