ΣΦΑΙΡΙΚΗ ΕΙΚΟΝΑ

Η βιβλιοθήκη μας επιτρέπει τη συμπίεση πολλαπλών ροών για ορισμένες μορφές. Αυτό σας επιτρέπει να αυξήσετε σημαντικά την ταχύτητα συμπίεσης δεδομένων.

Παραλληλισμός αρχείων 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 στο αρχείο.
Ανατρέξτε στην τεκμηρίωση για καλύτερη κατανόηση της σημασίας των τιμών απαρίθμησης ParallelCompressionMode. Παίξτε με αυτές τις τιμές για να επιτύχετε το καλύτερο αποτέλεσμα ρητά για τους σκοπούς και τη διαμόρφωση του υλικού σας.

Άλλες υποστηριζόμενες δυνατότητες Aspose.ZIP για Python.Net API

Με τη βιβλιοθήκη Aspose.ZIP στο Python.Net, μπορείτε να χειρίζεστε απρόσκοπτα διάφορες εργασίες που σχετίζονται με έγγραφα αρχείων ZIP. Είτε θέλετε να μετατρέψετε μορφές, να συγχωνεύσετε αρχεία, να επεξεργαστείτε περιεχόμενα ή να εξαγάγετε δεδομένα, το Aspose.ZIP παρέχει ολοκληρωμένη λειτουργικότητα για τον εξορθολογισμό της ροής εργασίας σας και τη βελτίωση της παραγωγικότητας.

  
  

Aspose.Zip offers individual archive processing APIs for other popular development environments, listed below: