Ekstrak ZIP Bersarang dengan Python

Arsip ZIP banyak digunakan untuk mengompresi dan mengatur file dan folder. Terkadang, Anda mungkin menemukan file ZIP dalam arsip ZIP, yang dikenal sebagai ZIP bersarang. Mengekstrak file dari arsip bertumpuk dapat menjadi tugas yang menantang jika Anda tidak memiliki alat yang tepat. Dalam postingan blog ini, kita akan mempelajari cara mengekstrak arsip ZIP bersarang dengan Python dengan mudah.

Perpustakaan Python untuk Mengekstrak ZIP Bersarang

Aspose.ZIP for Python adalah perpustakaan canggih yang memungkinkan Anda bekerja dengan arsip ZIP dalam aplikasi Python. Ini menyediakan berbagai fitur untuk membuat, memanipulasi, dan mengekstrak arsip ZIP, menjadikannya pilihan yang sangat baik untuk menangani struktur arsip yang kompleks, termasuk arsip ZIP yang disarangkan. Jadi kami akan memanfaatkan perpustakaan ini untuk mengekstrak file ZIP yang disarangkan.

Anda dapat mengunduh perpustakaan atau menginstalnya dari PyPI.

> pip install aspose-zip

Ekstrak File ZIP Bersarang dengan Python

Berikut ini adalah langkah-langkah untuk mengekstrak file ZIP bersarang dengan Python.

  • Pertama, muat arsip ZIP menggunakan kelas Arsip.
  • Kemudian, ulangi entri ZIP menggunakan koleksi Archive.entries.
  • Filter arsip ZIP menggunakan tanda centang ArchiveEntry.name.lower().endswith(".zip").
  • Buat objek BytesIO dan buka ZIP yang disarangkan ke dalamnya.
  • Terakhir, buka ZIP yang disarangkan menggunakan objek BytesIO dan ekstrak menggunakan metode Archive.extracttodirectory().

Cuplikan kode di bawah ini mengekstrak arsip ZIP bersarang ke dalam folder dengan Python.

import aspose.zip as az
from io import BytesIO

# Muat arsip ZIP yang memiliki ZIP bersarang
with az.Archive("nested_zip_archive.zip") as archive:
   for entry in archive.entries:            
        # Periksa apakah entri adalah arsip ZIP
        if entry.name.lower().endswith(".zip"):                
            # Buka ZIP bersarang ke dalam aliran
            with BytesIO() as nested_stream:   
                # Buka ZIP ke dalam aliran
                entry.extract(nested_stream)
                
                # Muat ZIP
                with az.Archive(nested_stream) as nested_archive: 
                    # Ekstrak ZIP ke folder
                    nested_archive.extract_to_directory("Extracted/" + entry.name)

Perpustakaan ZIP Python - Dapatkan Lisensi Gratis

Dapatkan lisensi sementara gratis dan tambahkan file ke arsip ZIP tanpa batasan evaluasi.

Sumber Belajar

Pelajari lebih lanjut tentang perpustakaan Python ZIP kami menggunakan sumber daya yang diberikan di bawah ini:

Alat ZIP Online

Jelajahi alat online gratis kami untuk bekerja dengan arsip ZIP, yang didukung oleh Aspose.ZIP for Python.

Kesimpulan

Aspose.ZIP menyederhanakan proses mengekstraksi arsip ZIP bersarang dengan Python. Hanya dengan beberapa baris kode, Anda dapat mengakses dan mengekstrak file dari arsip bertingkat. Pustaka ini adalah alat yang berharga untuk menangani struktur arsip ZIP yang kompleks dalam aplikasi Python Anda. Baik Anda bekerja dengan arsip ZIP bertingkat atau melakukan tugas terkait ZIP lainnya, Aspose.ZIP for Python dapat menyederhanakan alur kerja Anda dan membuat proses pengembangan Anda lebih efisien.

Lihat juga