ΣΦΑΙΡΙΚΗ ΕΙΚΟΝΑ
Η βιβλιοθήκη μας επιτρέπει τη συμπίεση πολλαπλών ροών για ορισμένες μορφές. Αυτό σας επιτρέπει να αυξήσετε σημαντικά την ταχύτητα συμπίεσης δεδομένων.Παραλληλισμός αρχείων BZIP2, LZIP και XZ
Ο αριθμός των νημάτων συμπίεσης μπορεί να οριστεί μέσω της ιδιότητας "compression threads" της αντίστοιχης κλάσης ρυθμίσεων. Η προεπιλεγμένη τιμή είναι 1 και έτσι η συμπίεση εκτελείται σε ένα μόνο νήμα. Ωστόσο, εάν ορίσετε μια τιμή μεγαλύτερη από μία, ο αλγόριθμος θα χρησιμοποιήσει τον αντίστοιχο αριθμό πυρήνων επεξεργαστή
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")
Σε αυτά τα παραδείγματα, τα αποσπάσματα κώδικα Python εκτελούν παρόμοιες ενέργειες για τη δημιουργία αρχείων, που διαφέρουν μόνο στις μορφές συμπίεσης που χρησιμοποιούνται. Συνήθως ακολουθούν τα εξής βήματα:
- Δημιουργία ενός αντικειμένου ρυθμίσεων ειδικά για τη μορφή αρχειοθέτησης.
- Ορίστε τον αριθμό των ροών παραλληλισμού για συμπίεση.
- Δημιουργείται ένα αντικείμενο αρχειοθέτησης. στο πλαίσιο με, το οποίο διασφαλίζει το αυτόματο κλείσιμο του αρχείου μετά την ολοκλήρωση των λειτουργιών.
- Καθορίστε την πηγή δεδομένων που θα προστεθεί στο αρχείο.
- Αποθηκεύστε το αρχείο στην κατάλληλη μορφή χρησιμοποιώντας τη χρήση του. τις διαμορφωμένες ρυθμίσεις.
LZMA2 Compression and Multithreading σε 7Z Archives
Αυτό το παράδειγμα δείχνει πώς να δημιουργήσετε ένα αρχείο 7z χρησιμοποιώντας το αρχείο data.bin. Χρησιμοποιούμε τον αλγόριθμο συμπίεσης LZMA2 με τέσσερις ροές για αποτελεσματική συμπίεση δεδομένων.
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")
Αυτός ο κώδικας δημιουργεί ένα αρχείο 7z διαβάζοντας τα δεδομένα από το αρχείο data.bin, χρησιμοποιώντας το SevenZipLZMA2CompressionSettings αντί για τις ρυθμίσεις για Bzip2, Lzip ή XZ και τον αλγόριθμο συμπίεσης LZMA2 με τέσσερα νήματα για συμπίεση. Χρησιμοποιεί τη μέθοδο create_entry του SevenZipArchive αντί για τη μέθοδο set_source.
Επιταχύνετε την αρχειοθέτηση ZIP με παράλληλη συμπίεση
Η δημιουργία ενός αρχείου ZIP μπορεί να παραλληλιστεί σε επίπεδο εισόδου. Για να το κάνετε αυτό, χρησιμοποιήστε την παρουσία ParallelOptions και τις ιδιότητές της
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)
Τα κύρια χαρακτηριστικά είναι:
- Χρήση του ParallelOptions για τη διαμόρφωση της παράλληλης συμπίεσης στη μνήμη.
- Χρήση του ArchiveSaveOptions για γενικές ρυθμίσεις αποθήκευσης.
- Χρήση της μεθόδου create_entries για την προσθήκη αρχείων από τον κατάλογο ~/Data στο αρχείο.
Άλλες υποστηριζόμενες δυνατότητες Aspose.ZIP για Python.Net API
Με τη βιβλιοθήκη Aspose.ZIP στο Python.Net, μπορείτε να χειρίζεστε απρόσκοπτα διάφορες εργασίες που σχετίζονται με έγγραφα αρχείων ZIP. Είτε θέλετε να μετατρέψετε μορφές, να συγχωνεύσετε αρχεία, να επεξεργαστείτε περιεχόμενα ή να εξαγάγετε δεδομένα, το Aspose.ZIP παρέχει ολοκληρωμένη λειτουργικότητα για τον εξορθολογισμό της ροής εργασίας σας και τη βελτίωση της παραγωγικότητας.
Support and Learning Resources
- Πόροι μάθησης
- Τεκμηρίωση
- Πηγαίος κώδικας
- Αναφορές API
- Υποστήριξη προιόντος
- Δωρεάν Υποστήριξη
- Υποστήριξη επί πληρωμή
- Ιστολόγιο
- Σημειώσεις έκδοσης
- Γιατί το Aspose.Zip για το Python.Net;
- Λίστα Πελατών
- Ιστορίες επιτυχίας