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

Gzip फ़ाइलों के लिए पायथन समर्थन (gzip)

GZip एप्लिकेशन का उपयोग फाइलों के संपीड़न और डीकंप्रेसन के लिए किया जाता है। यह जीएनयू परियोजना का एक हिस्सा है। पायथन का gzip मॉड्यूल GZip एप्लिकेशन का इंटरफ़ेस है। gzip डेटा कम्प्रेशन एल्गोरिथम स्वयं zlib मॉड्यूल पर आधारित है।

Gzip मॉड्यूल में इसकी विधियों के साथ GzipFile वर्ग की परिभाषा शामिल है। इसमें सुविधा फ़ंक्शन ओपन (), कंप्रेस () और डीकंप्रेस () भी शामिल है।

उपरोक्त कार्यों का उपयोग करके संपीड़न और डीकंप्रेसन प्राप्त करने का सबसे आसान तरीका है।

खुला ()

यह फ़ंक्शन बाइनरी या टेक्स्ट मोड में एक gzip-संपीड़ित फ़ाइल खोलता है और ऑब्जेक्ट जैसी फ़ाइल देता है, जो भौतिक फ़ाइल, एक स्ट्रिंग या बाइट ऑब्जेक्ट हो सकती है। डिफ़ॉल्ट रूप से, फ़ाइल 'आरबी' मोड में खोली जाती है यानी बाइनरी डेटा पढ़ना, हालांकि, इस फ़ंक्शन के मोड पैरामीटर नीचे सूचीबद्ध अन्य मोड ले सकते हैं।

binary mode: 'r', 'rb', 'a', 'ab', 'w', 'wb', 'x', 'xb'
text mode : 'rt', 'at', 'wt', or 'xt'

यह फ़ंक्शन संपीड़न स्तर को भी परिभाषित करता है जिसका स्वीकार्य मान 0 से 9 के बीच है। जब फ़ाइल टेक्स्ट मोड में खोली जाती है, तो GzipFile ऑब्जेक्ट TextIOWrapper ऑब्जेक्ट में लपेटा जाता है।

संपीड़ित करें()

यह फ़ंक्शन तर्क के रूप में दिए गए डेटा पर संपीड़न लागू करता है और संपीड़ित बाइट ऑब्जेक्ट देता है। डिफ़ॉल्ट रूप से संपीड़न स्तर 9 है।

डीकंप्रेस()

यह फ़ंक्शन बाइट ऑब्जेक्ट को डीकंप्रेस करता है और असम्पीडित डेटा देता है।

निम्नलिखित उदाहरण में संपीड़ित डेटा लिखकर एक gzip फ़ाइल बनाता है।

>>> import gzip
>>> data = b'Python - Batteries included'
>>> with gzip.open("test.txt.gz", "wb") as f:
f.write(data)

यह वर्तमान निर्देशिका में "test.txt.gz" फ़ाइल बनाएगा। इस gzip संग्रह में "test.txt" है जिसे आप किसी भी अनज़िपिंग उपयोगिता का उपयोग करके सत्यापित कर सकते हैं।

इस संपीड़ित फ़ाइल को प्रोग्रामेटिक रूप से पढ़ने के लिए

>>> with gzip.open("test.txt.gz", "rb") as f:
data = f.read()
>>> data
b'Python - Batteries included'
के रूप में

किसी मौजूदा फ़ाइल को एक gzip संग्रह में संपीड़ित करने के लिए, उसमें पाठ पढ़ें और इसे एक बायटेरे में परिवर्तित करें। यह बायटियर ऑब्जेक्ट तब एक gzip फ़ाइल में लिखा जाता है। नीचे दिए गए उदाहरण में, 'zen.txt' फ़ाइल को वर्तमान निर्देशिका में मौजूद माना जाता है।

fp = open("zen.txt","rb")
>>> data = fp.read()
>>> bindata = bytearray(data)
>>> with gzip.open("zen.txt.gz", "wb") as f:
f.write(bindata)

असंपीड़ित फ़ाइल को gzip संग्रह से पुनर्प्राप्त करने के लिए

>>> fp = open("zen1.txt", "wb")
>>> with gzip.open("zen.txt.gz", "rb") as f:
bindata = f.read()
>>> fp.write(bindata)
>>> fp.close()

उपरोक्त कोड वर्तमान निर्देशिका में 'zen1.txt' बनाएगा जिसमें 'zen.txt' के समान डेटा होगा

इन सुविधा कार्यों के अलावा, gzip मॉड्यूल में GzipFile वर्ग भी है जो सेक () और डीकंप्रेस () विधियों को परिभाषित करता है। इस वर्ग का निर्माता फ़ाइल, मोड और संपीड़न-स्तर के तर्कों को ठीक उसी अर्थ के साथ लेता है जैसे ऊपर दिया गया है।

जब मोड पैरामीटर को 'w' या 'wb' या 'wt' के रूप में दिया जाता है, तो GipFile ऑब्जेक्ट दिए गए डेटा को संपीड़ित करने और gzip फ़ाइल में लिखने के लिए लिखने() विधि प्रदान करेगा।

>>> f = gzip.GzipFile("testnew.txt.gz","wb")
>>> data = b'Python - Batteries included'
>>> f.write(data)
>>> f.close()

यह एक testnew.txt.gz फ़ाइल बनाएगा। आप यह देखने के लिए किसी भी उपयोगिता का उपयोग करके इसे खोल सकते हैं कि इसमें 'पायथन - बैटरी शामिल' टेक्स्ट के साथ testnew.txt है।

GzipFile ऑब्जेक्ट का उपयोग करके gzip फ़ाइल को असम्पीडित करने के लिए, इसे 'rb' मान से मोड पैरामीटर के साथ बनाएं और असम्पीडित डेटा को read() विधि द्वारा पढ़ें

>>> f = gzip.GzipFile("testnew.txt.gz","rb")
>>> data = f.read()
>>> data
b'Python - Batteries included'

इस लेख में हमने सीखा कि कैसे पायथन के gzip मॉड्यूल द्वारा gzip लाइब्रेरी को कार्यान्वित किया जा सकता है।


  1. पायथन में सांख्यिकीय सोच

    सांख्यिकी एमएल और एआई सीखने के लिए मौलिक है। चूंकि इन तकनीकों के लिए पायथन पसंद की भाषा है, हम देखेंगे कि पायथन प्रोग्राम कैसे लिखना है जिसमें सांख्यिकीय विश्लेषण शामिल है। इस लेख में हम देखेंगे कि विभिन्न पायथन मॉड्यूल का उपयोग करके ग्राफ और चार्ट कैसे बनाया जाता है। विभिन्न प्रकार के चार्ट हमें डे

  1. पायथन में जनगणना के आंकड़ों का विश्लेषण

    जनगणना किसी दी गई आबादी के बारे में व्यवस्थित तरीके से जानकारी दर्ज करने के बारे में है। कैप्चर किए गए डेटा में विभिन्न श्रेणी की जानकारी शामिल होती है जैसे - जनसांख्यिकीय, आर्थिक, आवास विवरण आदि। यह अंततः सरकार को वर्तमान परिदृश्य को समझने के साथ-साथ भविष्य के लिए योजना बनाने में मदद करता है। इस ले

  1. QuickSort के लिए पायथन प्रोग्राम

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक सरणी दी गई है, हमें इसे क्विकॉर्ट की अवधारणा का उपयोग करके क्रमबद्ध करने की आवश्यकता है यहां हम पहले सरणी को विभाजित करते हैं और क्रमबद्ध सरणी प्राप्त करने के लिए अलग विभाजन को सॉर्ट करते हैं। आइए अब नीचे दि