Python'da Yuvalanmış ZIP'i Çıkarın

ZIP arşivleri, dosya ve klasörleri sıkıştırmak ve düzenlemek için yaygın olarak kullanılır. Bazen ZIP arşivleri içinde iç içe ZIP olarak bilinen ZIP dosyalarıyla karşılaşabilirsiniz. Bu tür iç içe geçmiş arşivlerden dosyaları çıkarmak, eğer doğru araçlara sahip değilseniz zorlu bir iş olabilir. Bu blog yazısında Python’da iç içe ZIP arşivlerinin zahmetsizce nasıl çıkarılacağını araştıracağız.

Yuvalanmış ZIP’i Çıkarmak için Python Kütüphanesi

Aspose.ZIP for Python, Python uygulamalarında ZIP arşivleriyle çalışmanıza olanak tanıyan güçlü bir kitaplıktır. ZIP arşivlerini oluşturmak, değiştirmek ve çıkarmak için çeşitli özellikler sunarak, iç içe geçmiş ZIP arşivleri de dahil olmak üzere karmaşık arşiv yapılarının yönetimi için mükemmel bir seçimdir. Bu yüzden iç içe ZIP dosyalarını çıkarmak için bu kütüphaneyi kullanacağız.

Kitaplığı indirebilir veya PyPI adresinden yükleyebilirsiniz.

> pip install aspose-zip

Python’da Yuvalanmış ZIP Dosyalarını Çıkarın

Python’da iç içe ZIP dosyalarını ayıklama adımları aşağıda verilmiştir.

  • Öncelikle Archive sınıfını kullanarak ZIP arşivini yükleyin.
  • Ardından Archive.entries koleksiyonunu kullanarak ZIP girişleri arasında geçiş yapın.
  • ArchiveEntry.name.lower().endswith(".zip") denetimini kullanarak ZIP arşivlerini filtreleyin.
  • Bir BytesIO nesnesi oluşturun ve iç içe geçmiş ZIP’i bu nesneye açın.
  • Son olarak, BytesIO nesnesini kullanarak iç içe ZIP’i açın ve Archive.extracttodirectory() yöntemini kullanarak çıkarın.

Aşağıdaki kod parçacığı, yuvalanmış bir ZIP arşivini Python’daki bir klasöre çıkarır.

import aspose.zip as az
from io import BytesIO

# İç içe ZIP'lere sahip ZIP arşivini yükleyin
with az.Archive("nested_zip_archive.zip") as archive:
   for entry in archive.entries:            
        # Girişin ZIP arşivi olup olmadığını kontrol edin
        if entry.name.lower().endswith(".zip"):                
            # Yuvalanmış ZIP'i akışta açın
            with BytesIO() as nested_stream:   
                # ZIP'i akışa açın
                entry.extract(nested_stream)
                
                # ZIP'i yükle
                with az.Archive(nested_stream) as nested_archive: 
                    # ZIP'i bir klasöre çıkartın
                    nested_archive.extract_to_directory("Extracted/" + entry.name)

Python ZIP Kitaplığı - Ücretsiz Lisans Alın

[Ücretsiz bir geçici lisans] edinin9 ve değerlendirme sınırlaması olmaksızın dosyaları ZIP arşivlerine ekleyin.

Öğrenme Kaynakları

Aşağıda verilen kaynakları kullanarak Python ZIP kitaplığımız hakkında daha fazla bilgi edinin:

Çevrimiçi Posta Araçları

Aspose.ZIP for Python tarafından desteklenen ücretsiz ZIP arşivleriyle çalışmak için çevrimiçi araçlarımızı keşfedin.

Çözüm

Aspose.ZIP, Python’da iç içe ZIP arşivlerinin çıkarılması sürecini basitleştirir. Yalnızca birkaç satır kodla iç içe geçmiş arşivlerdeki dosyalara erişebilir ve bunları çıkarabilirsiniz. Bu kütüphane, Python uygulamalarınızdaki karmaşık ZIP arşiv yapılarını yönetmek için değerli bir araçtır. İster iç içe ZIP arşivleriyle çalışıyor olun ister ZIP ile ilgili diğer görevleri gerçekleştiriyor olun, Aspose.ZIP for Python iş akışınızı kolaylaştırabilir ve geliştirme sürecinizi daha verimli hale getirebilir.

Ayrıca bakınız