Python'da TAR'ı ZIP ile birleştirme

Depolama veya iletim amacıyla dosya ve klasörlerin boyutunu azaltmak için çeşitli veri sıkıştırma teknikleri kullanılır. Yaygın olarak kullanılan iki sıkıştırma formatı TAR ve ZIP‘dir ve her birinin kendi güçlü yönleri ve kullanım durumları vardır. Peki ya bu formatları birleştirmeniz gerekirse? Bu blog yazısında Python’da TAR’ı ZIP ile nasıl birleştireceğimizi inceleyeceğiz.

Python Kütüphanesi TAR’ı ZIP ile Birleştirecek

Aspose.ZIP for Python, ZIP ve TAR dahil olmak üzere çeşitli arşiv formatlarıyla çalışmanıza olanak tanıyan, zengin özelliklere sahip bir kitaplıktır. Arşivleri zahmetsizce oluşturmak, eklemek, çıkarmak ve değiştirmek için kitaplığı kullanabilirsiniz. Bu kütüphaneyi TAR’ı ZIP arşiviyle birleştirmek için kullanacağız.

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

> pip install aspose-zip

Neden TAR’ı ZIP ile Birleştirmelisiniz?

Teknik ayrıntılara dalmadan önce, neden TAR’ı ZIP ile birleştirmek isteyebileceğinizi kısaca tartışalım. Hem TAR hem de ZIP’in kendine özgü avantajları vardır:

  • TAR: TAR, Unix ve Linux sistemlerinde yaygın olarak kullanılan bir dosya arşivleme formatıdır. Birden fazla dosya ve dizini sıkıştırma olmadan tek bir dosyada paketlemek için idealdir. TAR arşivleri genellikle dosyaların dağıtım için yedeklenmesi ve paketlenmesi için kullanılır.

  • ZIP: ZIP, yalnızca dosyaları ve dizinleri paketlemekle kalmayıp aynı zamanda depolama alanını azaltmak ve dosya aktarımlarını hızlandırmak için bunları sıkıştıran, yaygın olarak kullanılan bir sıkıştırma formatıdır. ZIP birden fazla platformda desteklenir ve çeşitli arşivleme araçlarıyla uyumludur.

TAR’ı ZIP ile birleştirmek, ZIP’in sıkıştırma avantajlarından yararlanırken TAR dosyalarının dizin yapısını korumak istediğiniz senaryolarda faydalı olabilir.

Python’da TAR’ı ZIP ile birleştirme

Python’da TAR’ı ZIP ile birleştirme adımları aşağıda verilmiştir.

  • Öncelikle TarArchive sınıfını kullanarak TAR’ı yükleyin.
  • Daha sonra Archive sınıfını kullanarak ZIP’i yükleyin.
  • Bundan sonra, Archive.entries koleksiyonunu kullanarak TAR girişleri arasında geçiş yapın.
  • Archive.entries[index].extract(BytesIO) yöntemini kullanarak TAR’daki her girişi bir BytesIO nesnesine çıkarın.
  • Çıkarılan girişi Archive.createentry(string, BytesIO) yöntemini kullanarak ZIP arşivine ekleyin.
  • Son olarak, Archive.save(string) yöntemini kullanarak ZIP arşivini kaydedin.

Aşağıdaki kod örneği, Python’da TAR’ın ZIP arşiviyle nasıl birleştirileceğini gösterir.

import aspose.zip as az
from io import BytesIO

# TAR dosyasını yükle
with az.tar.TarArchive("source.tar") as source:
  
    # ZIP dosyasını yükle
    with az.Archive("target.zip") as target:
      
        # TAR girişleri arasında dolaşın ve bunları ZIP'e ekleyin
       for i in range(source.entries.length):
            if not source.entries[i].is_directory:
                ms = BytesIO()
                source.entries[i].extract(ms)
                target.create_entry(source.entries[i].name, ms)
            else:
                target.create_entry(source.entries[i].name + "/", None)
        
        # ZIP arşivini kaydet
        target.save("merged_tar_zip.zip")

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

[Ücretsiz bir geçici lisans] edinin9 ve değerlendirme sınırlamaları olmadan çeşitli arşiv formatlarıyla çalışın.

Öğ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 arşivlerle çalışmak için çevrimiçi araçlarımızı kullanın.

Çözüm

Aspose.ZIP for Python’u kullanarak TAR’ı ZIP ile birleştirmek, her iki arşivleme formatının güçlü yanlarından yararlanmanıza olanak tanıyan basit bir süreçtir. Dosyaları dağıtım için paketlemeniz, yedeklemeler oluşturmanız veya yalnızca depolama alanını azaltmanız gerekiyorsa, Aspose.ZIP görevi basitleştirir ve size süreç üzerinde ayrıntılı kontrol sağlar. Bu blog yazısında verilen yönergeleri kolayca takip edebilir ve Python uygulamalarınızda TAR’ı ZIP arşivleriyle birleştirebilirsiniz.

Ayrıca bakınız