Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

Python में bzip2 कम्प्रेशन के लिए सपोर्ट (bz2)

bzip2 फ़ाइलों के कम्प्रेशन और डीकम्प्रेशन के लिए एक ओपन सोर्स एल्गोरिदम है। Python का bz2 मॉड्यूल इस एल्गोरिदम को प्रोग्रामेटिक रूप से लागू करने की सुविधा प्रदान करता है।

open() फ़ंक्शन

यह फ़ंक्शन bzip2 कम्प्रेस्ड फ़ाइल को खोलता है और एक फ़ाइल ऑब्जेक्ट लौटाता है। फ़ाइल को बाइनरी/टेक्स्ट मोड में रीड/राइट परमिशन के साथ खोला जा सकता है। यह फ़ंक्शन compressionlevel आर्गुमेंट (1 से 9 के बीच) के आधार पर कम्प्रेशन करता है।

write() मेथड

जब फ़ाइल 'w' या 'wb' मोड में खोली जाती है, तो यह मेथड फ़ाइल ऑब्जेक्ट के लिए उपलब्ध होता है। बाइनरी मोड में, यह कम्प्रेस्ड बाइनरी डेटा फ़ाइल में लिखता है। सामान्य टेक्स्ट मोड में, फ़ाइल ऑब्जेक्ट एन्कोडिंग के लिए TextIOWrapper ऑब्जेक्ट में लपेटा जाता है।

read() - जब फ़ाइल रीड मोड में खोली जाती है, तो यह फ़ंक्शन उसे पढ़ता है और अनकम्प्रेस्ड डेटा लौटाता है।

निम्न कोड bzip2 फ़ाइल में कम्प्रेस्ड डेटा लिखता है:

>>> import bz2
>>> f = bz2.open("test.bz2", "wb")
>>> data = b'Welcome to TutorialsPoint'
>>> f.write(data)
>>> f.close()

यह करंट डायरेक्टरी में test.bz2 फ़ाइल बनाएगा। कोई भी अनजिपिंग टूल इसमें test फ़ाइल दिखाएगा। इस test.bz2 फ़ाइल से अनकम्प्रेस्ड डेटा पढ़ने के लिए:

>>> f = bz2.open("test.bz2", "rb")
>>> data = f.read()
>>> data
b'Welcome to TutorialsPoint'

bz2 मॉड्यूल BZ2File क्लास भी डिफाइन करता है। इसका ऑब्जेक्ट कंस्ट्रक्टर के mode पैरामीटर के आधार पर कंप्रेसर और डीकंप्रेसर दोनों की तरह काम करता है।

BZ2File() कंस्ट्रक्टर

open() फ़ंक्शन की तरह, इसमें file और mode पैरामीटर आवश्यक हैं। डिफ़ॉल्ट compressionlevel 9 है और यह 1 से 9 के बीच हो सकता है।

BZ2Compressor()

यह फ़ंक्शन इन्क्रीमेंटल कंप्रेसर क्लास का ऑब्जेक्ट लौटाता है। इस क्लास के compress() मेथड को प्रत्येक कॉल कम्प्रेस्ड डेटा का एक चंक लौटाता है। कई चंक्स को जोड़कर अंत में bzip2 कम्प्रेशन फ़ाइल में लिखा जा सकता है।

flush()

यह मेथड बफर को खाली करता है और उसमें मौजूद डेटा के चंक को कम्प्रेस्ड ऑब्जेक्ट में जोड़ने के लिए लौटाता है।

BZ2Decompressor()

यह फ़ंक्शन इन्क्रीमेंटल डीकंप्रेसर का ऑब्जेक्ट लौटाता है। फ्लश्ड डेटा के साथ डीकम्प्रेस्ड डेटा के इंडिविजुअल चंक्स को जोड़कर अनकम्प्रेस्ड डेटा बनता है।

निम्न उदाहरण लिस्ट ऑब्जेक्ट में प्रत्येक आइटम को पहले कम्प्रेस करता है और कन्कैटनेटेड बाइट ऑब्जेक्ट को फ़ाइल में लिखता है। डेटा BZ2Decompressor ऑब्जेक्ट द्वारा प्राप्त किया जाता है।

>>> import bz2
>>> data = [b'Hello World', b'How are you?', b'welcome to Python']
>>> obj = bz2.BZ2Compressor()
>>> f = bz2.open("test.bz2", "wb")
>>> d1 = obj.compress(data[0])
>>> d2 = obj.compress(data[1])
>>> d3 = obj.compress(data[2])
>>> d4 = obj.flush()
>>> compressedobj = d1 + d2 + d3 + d4
>>> f.write(compressedobj)
>>> f.close()
>>> obj = bz2.BZ2Decompressor()
>>> f = bz2.open("test.bz2", "rb")
>>> data = f.read()
>>> obj.decompress(data)
b'Hello WorldHow are you?welcome to Python'
  1. पायथन का उपयोग करके Base64 डेटा एन्कोडिंग पायथन का उपयोग करके Base64 डेटा एन्कोडिंग

    base64 मॉड्यूल में फंक्शन बाइनरी डेटा को ASCII के एक सबसेट में अनुवादित करते हैं जो प्लेनटेक्स्ट प्रोटोकॉल का उपयोग करके ट्रांसमिशन के लिए उपयुक्त है। एन्कोडिंग और डिकोडिंग फंक्शन RFC 3548 में विनिर्देशों को लागू करते हैं, जो Base16, Base32, और Base64 एल्गोरिदम को परिभाषित करता है, और डी-फैक्टो मान

  1. पीसी के लिए टॉप 6 फाइल ट्रांसफर ऐप्स पीसी के लिए टॉप 6 फाइल ट्रांसफर ऐप्स

    वे दिन गए जब हमें अपने डेटा को एक सिस्टम से दूसरे सिस्टम या स्मार्टफोन में ट्रांसफर करने के लिए बहुत सारी अवांछित परेशानी से गुजरना पड़ता था। आजकल, ऐसे कई आसानी से उपलब्ध एप्लिकेशन हैं जिनका उपयोग आप अपने पीसी से स्मार्टफोन या दूसरे पीसी में अपना डेटा ट्रांसफर करने के लिए कर सकते हैं। इसलिए, सर्वश्र

  1. Windows के लिए टॉप 15 फाइल कम्प्रेशन टूल्स - डेटा को कुशलतापूर्वक कंप्रेस और स्टोर करें Windows के लिए टॉप 15 फाइल कम्प्रेशन टूल्स - डेटा को कुशलतापूर्वक कंप्रेस और स्टोर करें

    कल्पना करें कि आपने अपना स्मार्टफोन रीसेट किया, और सारा डेटा चला गया। लेकिन आप स्मार्ट थे और रीसेट से पहले अपने कंप्यूटर पर बैकअप बना लिया था। लेकिन अब, समस्या बैकअप के विशाल आकार की है, जो एक साधारण फाइल मूव के लिए बहुत अधिक है। खैर, आपकी समस्या का समाधान सरल है। जी हां, फाइल कम्प्रेशन! आपको बस Win