Áttekintés
Könyvtárunk lehetővé teszi a többfolyamos tömörítést bizonyos formátumok esetében. Ez lehetővé teszi az adattömörítés sebességének jelentős növelését.A BZIP2, LZIP és XZ archívumok párhuzamosítása
A tömörítési szálak száma a megfelelő beállítási osztály "tömörítési szálak" tulajdonságán keresztül állítható be. Az alapértelmezett érték 1, így a tömörítés egyetlen szálon történik. Ha azonban egynél nagyobb értéket ad meg, az algoritmus a megfelelő számú processzormagot fogja használni
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")
Ezekben a példákban a Python kódrészletek hasonló műveleteket hajtanak végre az archívumok létrehozása során, csak a használt tömörítési formátumokban térnek el egymástól. Általában a következő lépéseket követik:
- Hozzon létre egy, az archívum formátumának megfelelő beállítási objektumot.
- Állítsa be a tömörítéshez szükséges párhuzamossági folyamok számát.
- A rendszer létrehoz egy archív objektumot. összefüggésben, amely biztosítja az archívum automatikus bezárását a műveletek befejezése után.
- Adja meg az archívumhoz hozzáadandó adatforrást.
- Mentse el az archívumot a megfelelő formátumban a következővel: a konfigurált beállításokat.
LZMA2 tömörítés és többszálú feldolgozás a 7Z archívumban
Ez a példa bemutatja, hogyan hozhat létre 7z-es archívumot a data.bin fájl használatával. Az adatok hatékony tömörítéséhez LZMA2 tömörítési algoritmust használunk négy adatfolyammal.
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")
Ez a kód 7z-es archívumot hoz létre a data.bin fájl adatainak beolvasásával, a Bzip2, Lzip vagy XZ beállításai helyett a SevenZipLZMA2CompressionSettings használatával, valamint az LZMA2 tömörítési algoritmussal négy szál tömörítéssel. A SevenZipArchive create_entry metódusát használja a set_source metódus helyett.
Gyorsítsa fel a ZIP archiválást párhuzamos tömörítéssel
A ZIP archívum létrehozása a belépő szinten párhuzamosítható. Ehhez használja a ParallelOptions példányt és annak tulajdonságait
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)
A főbb funkciók a következők:
- A ParallelOptions használata a párhuzamos memóriatömörítés konfigurálásához.
- Az ArchiveSaveOptions használata az általános mentési beállításokhoz.
- A create_entries metódus használata fájlok hozzáadásához a ~/Data könyvtárat az archívumba.
Egyéb támogatott Aspose.ZIP a Python.Net API-hoz
A Python.Net Aspose.ZIP könyvtárával zökkenőmentesen kezelheti a ZIP fájlokkal kapcsolatos különféle feladatokat. Legyen szó formátumok konvertálására, fájlok egyesítésére, tartalom szerkesztésére vagy adatok kibontására, az Aspose.ZIP átfogó funkcionalitást biztosít a munkafolyamat egyszerűsítéséhez és a termelékenység növeléséhez.
Support and Learning Resources
- Tanulási források
- Dokumentáció
- Forráskód
- API referenciák
- Terméktámogatás
- Ingyenes támogatás
- Fizetett támogatás
- Blog
- Kiadási megjegyzések
- Miért az Aspose.Zip a Python.Net számára?
- Ügyfelek listája
- Sikertörténetek