Genel Bakış
Kitaplığımız bazı formatlar için çoklu akış sıkıştırmasına izin verir. Bu, veri sıkıştırma hızını önemli ölçüde artırmanıza olanak tanır.BZIP2, LZIP ve XZ Arşivlerini Paralelleştirme
Sıkıştırma iş parçacıklarının sayısı, ilgili ayarlar sınıfının "sıkıştırma iş parçacıkları" özelliği aracılığıyla ayarlanabilir. Varsayılan değer L’dir ve sıkıştırma bu nedenle tek bir iş parçacığında gerçekleştirilir. Ancak birden büyük bir değer ayarlarsanız algoritma karşılık gelen sayıda işlemci çekirdeğini kullanır
Parallel compression to BZIP2
save_options = zp.bzip2.Bzip2SaveOptions()
save_options.compression_threads = 4
with zp.bzip2.Bzip2Archive() as archive:
archive.set_source("data.bin")
archive.save("archive.bz2", save_options)
Parallel compression to LZIP
# Will use 16Mb for dictionary:
settings = zp.lzip.LzipArchiveSettings(0x1000000)
settings.compression_threads = 4
with zp.lzip.LzipArchive(settings) as archive:
archive.set_source("data.bin")
archive.save("archive.lz")
Parallel compression to XZ
settings = zp.xz.settings.XzArchiveSettings()
settings.compression_threads = 4
with zp.xz.XzArchive(settings) as archive:
archive.set_source("data.bin")
archive.save("archive.xz")
Bu örneklerde, Python kod parçacıkları arşiv oluşturmak için benzer eylemler gerçekleştirir, yalnızca kullanılan sıkıştırma formatlarında farklılık gösterir. Genellikle şu adımları izlerler:
- Arşiv formatına özel bir ayarlar nesnesi oluşturun.
- Sıkıştırma için paralellik akışlarının sayısını ayarlayın.
- Bir arşiv nesnesi oluşturulur. İşlemler tamamlandıktan sonra arşivin otomatik olarak kapatılmasını sağlayan bağlamda.
- Arşive eklenecek veri kaynağını belirtin.
- Arşivi kullanarak arşivi uygun formatta kaydedin. yapılandırılmış ayarlar.
7Z Arşivlerinde LZMA2 Sıkıştırma ve Çoklu İş Parçacığı Oluşturma
Bu örnek, data.bin dosyasını kullanarak 7z arşivinin nasıl oluşturulacağını gösterir. Verileri verimli bir şekilde sıkıştırmak için dört akışlı LZMA2 sıkıştırma algoritmasını kullanıyoruz.
Parallel compression to 7Z LZMA2
compression_settings = zp.saving.SevenZipLZMA2CompressionSettings()
compression_settings.compression_threads = 4
entry_settings = zp.saving.SevenZipEntrySettings(compression_settings)
with zp.sevenzip.SevenZipArchive(entry_settings) as archive:
archive.create_entry("data.bin", "data.bin")
archive.save("result.7z")
Bu kod, data.bin dosyasındaki verileri okuyarak, Bzip2, Lzip veya XZ ayarları yerine SevenZipLZMA2CompressionSettings’i ve sıkıştırma için dört iş parçacığına sahip LZMA2 sıkıştırma algoritmasını kullanarak bir 7z arşivi oluşturur. Set_source yöntemi yerine SevenZipArchive’ın create_entry yöntemini kullanır.
Paralel Sıkıştırmayla ZIP Arşivlemeyi Hızlandırın
ZIP arşivinin oluşturulması giriş seviyesinde paralelleştirilebilir. Bunu yapmak için ParallelOptions örneğini ve özelliklerini kullanın
parallel_opt = zp.saving.ParallelOptions()
parallel_opt.parallel_compress_in_memory = zp.saving.ParallelCompressionMode.AUTO
save_opt = zp.saving.ArchiveSaveOptions()
save_opt.parallel_options = parallel_opt
with zp.Archive as archive:
archive.create_entries("~/Data")
archive.Save("archive.zip", save_opt)
Ana özellikler şunlardır:
- Paralel bellek içi sıkıştırmayı yapılandırmak için ParallelOptions’ı kullanma.
- Genel kaydetme ayarları için ArchiveSaveOptions’ı kullanma.
- Dosyaları şuradan eklemek için create_entries yöntemini kullanma. ~/Data dizinini arşive ekleyin.
Python.Net API için Desteklenen Diğer Aspose.ZIP Özellikleri
Python.Net’ teki Aspose.ZIP kütüphanesi ile ZIP dosyası belgeleriyle ilgili çeşitli görevleri sorunsuz bir şekilde gerçekleştirebilirsiniz. İster formatları dönüştürmeniz, dosyaları birleştirmeniz, içerikleri düzenlemeniz veya veri çıkarmanız gerekiyorsa Aspose.ZIP, iş akışınızı kolaylaştırmak ve üretkenliğinizi artırmak için kapsamlı işlevsellik sağlar.
Support and Learning Resources
- Öğrenme Kaynakları
- Dokümantasyon
- Kaynak kodu
- API Referansları
- Ürün desteği
- Ücretsiz Destek
- Ücretli Destek
- Blog
- Sürüm notları
- Neden Python.Net için Aspose.Zip?
- Müşteri Listesi
- Başarı Öyküleri