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

Python में gzip फ़ाइलों के लिए सपोर्ट (gzip)

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

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

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

open() फ़ंक्शन

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

बाइनरी मोड: 'r', 'rb', 'a', 'ab', 'w', 'wb', 'x', 'xb'
टेक्स्ट मोड: 'rt', 'at', 'wt', 'xt'

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

compress()

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

decompress()

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

निम्न उदाहरण कम्प्रेस्ड डेटा लिखकर एक 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 क्लास भी है जो compress() और decompress() मेथड्स डिफाइन करती है। इस क्लास का कंस्ट्रक्टर file, mode और compressionlevel आर्गुमेंट्स लेता है जिनका अर्थ ऊपर जैसा ही है।

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

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

यह testnew.txt.gz फ़ाइल बनाएगा। आप इसे किसी यूटिलिटी से अनजिप करके देख सकते हैं कि इसमें testnew.txt है जिसमें 'Python – Batteries included' टेक्स्ट है।

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

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

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

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

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

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

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

  1. पायथन प्रोग्राम: क्विकसॉर्ट पायथन प्रोग्राम: क्विकसॉर्ट

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