अवलोकन
हमारी लाइब्रेरी कुछ प्रारूपों के लिए मल्टी-स्ट्रीम संपीड़न की अनुमति देती है। यह आपको डेटा संपीड़न की गति को उल्लेखनीय रूप से बढ़ाने की अनुमति देता है।BZIP2, LZIP और XZ अभिलेखागार को समानांतर करना
संपीड़न थ्रेड्स की संख्या संबंधित सेटिंग्स वर्ग की "संपीड़न थ्रेड्स" संपत्ति के माध्यम से निर्धारित की जा सकती है। डिफ़ॉल्ट मान 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")
इन उदाहरणों में, पायथन कोड स्निपेट संग्रह बनाने के लिए समान क्रियाएं करते हैं, केवल उपयोग किए गए संपीड़न प्रारूपों में भिन्न होते हैं। वे आम तौर पर इन चरणों का पालन करते हैं:
- संग्रह प्रारूप के लिए विशिष्ट सेटिंग ऑब्जेक्ट बनाएं।
- संपीड़न के लिए समांतरता धाराओं की संख्या निर्धारित करें।
- एक संग्रह ऑब्जेक्ट बनाया गया है के संदर्भ में, जो संचालन पूरा होने के बाद संग्रह को स्वचालित रूप से बंद करना सुनिश्चित करता है।
- संग्रह में जोड़े जाने वाले डेटा स्रोत को निर्दिष्ट करें।
- संग्रह का उपयोग करके उचित प्रारूप में सहेजें कॉन्फ़िगर की गई सेटिंग.
7Z अभिलेखागार में LZMA2 संपीड़न और मल्टीथ्रेडिंग
यह उदाहरण दर्शाता है कि data.bin फ़ाइल का उपयोग करके 7z संग्रह कैसे बनाया जाए। हम डेटा को कुशलतापूर्वक संपीड़ित करने के लिए चार धाराओं के साथ 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")
यह कोड data.bin फ़ाइल से डेटा को पढ़कर, Bzip2, Lzip, या XZ के लिए सेटिंग्स के बजाय सेवनज़िपLZMA2CompressionSettings और संपीड़न के लिए चार थ्रेड्स के साथ LZMA2 संपीड़न एल्गोरिथ्म का उपयोग करके एक 7z संग्रह बनाता है। यह set_source विधि के बजाय सेवनज़िपआर्काइव की create_entry विधि का उपयोग करता है।
समानांतर संपीड़न के साथ ज़िप संग्रहण को गति दें
ज़िप संग्रह का निर्माण प्रवेश स्तर पर समानांतर किया जा सकता है। ऐसा करने के लिए, 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 विधि का उपयोग करना। संग्रह में ~/डेटा निर्देशिका।
Python.Net API सुविधाओं के लिए अन्य समर्थित Aspose.ZIP
Python.Net में Aspose.ZIP लाइब्रेरी के साथ, आप ZIP फ़ाइल दस्तावेज़ों से संबंधित विभिन्न कार्यों को सहजता से संभाल सकते हैं। चाहे आपको प्रारूप परिवर्तित करने, फ़ाइलों को मर्ज करने, सामग्री संपादित करने या डेटा निकालने की आवश्यकता हो, Aspose.ZIP आपके वर्कफ़्लो को सुव्यवस्थित करने और उत्पादकता बढ़ाने के लिए व्यापक कार्यक्षमता प्रदान करता है।
Support and Learning Resources
- सीखने के संसाधन
- प्रलेखन
- सोर्स कोड
- एपीआई संदर्भ
- उत्पाद समर्थन
- मुफ़्त सहायता
- सशुल्क सहायता
- ब्लॉग
- रिलीज नोट्स
- Python.Net के लिए Aspose.Zip क्यों?
- ग्राहकों की सूची
- सफलता की कहानियां