अजगर आपको जल्दी से जिप / टार अभिलेखागार बनाने की अनुमति देता है।
निम्न आदेश संपूर्ण निर्देशिका को ज़िप करेगा
shutil.make_archive(output_filename, 'zip', dir_name)
निम्नलिखित कमांड आपको उन फ़ाइलों पर नियंत्रण देता है जिन्हें आप संग्रह करना चाहते हैं
ZipFile.write(filename)
यहां पायथन में जिप फाइल बनाने के चरण दिए गए हैं
चरण 1) पायथन से एक संग्रह फ़ाइल बनाने के लिए, सुनिश्चित करें कि आपके पास अपना आयात विवरण सही है और क्रम में है। यहाँ संग्रह के लिए आयात विवरण है
from shutil import make_archive
कोड स्पष्टीकरण
- मॉड्यूल शिल्ट से make_archive वर्ग आयात करें
- पाठ फ़ाइल के स्थान पर निर्देशिका और फ़ाइल नाम को पथ से अलग करने के लिए विभाजन फ़ंक्शन का उपयोग करें (गुरु 99)
- फिर हम आर्काइव फ़ाइल बनाने के लिए मॉड्यूल "shutil.make_archive (" गुरु99 संग्रह, "ज़िप", रूट_डिअर) को कॉल करते हैं, जो ज़िप प्रारूप में होगा
- इसके बाद हम उन चीजों की रूट डायरेक्टरी में पास होते हैं, जिन्हें हम ऊपर लाना चाहते हैं। तो निर्देशिका में सब कुछ ज़िप किया जाएगा
- जब आप कोड चलाते हैं, तो आप देख सकते हैं कि पैनल के दाईं ओर आर्काइव जिप फाइल बनाई गई है।
चरण 2)
अब आपकी आर्काइव.ज़िप फ़ाइल आपके OS (विंडोज एक्सप्लोरर) पर दिखाई देगी
चरण 3) जब आप फ़ाइल पर डबल-क्लिक करते हैं, तो आपको वहां सभी फ़ाइलों की सूची दिखाई देगी।
चरण 4) पायथन में हम संग्रह पर अधिक नियंत्रण रख सकते हैं क्योंकि हम संग्रह के तहत कौन सी विशिष्ट फ़ाइल को परिभाषित कर सकते हैं। हमारे मामले में, हम दो फाइलों को "गुरु 99. txt" और "गुरु99.txt.bak" के तहत शामिल करेंगे ।
कोड स्पष्टीकरण
- ज़िप फ़ाइल पाइथन मॉड्यूल से जिपफाइल आयात करें। यह मॉड्यूल ज़िप फाइल बनाने पर पूरा नियंत्रण देता है
- हम एक नया नाम के साथ Zipfile बनाते हैं ("testguru99.zip," w ")
- एक नया ज़िपफ़ाइल वर्ग बनाना, अनुमति के लिए पास होना आवश्यक है क्योंकि यह एक फ़ाइल है, इसलिए आपको फ़ाइल में नई जानकारी लिखने की आवश्यकता है
- हमने बनाई गई ज़िप फ़ाइल को संदर्भित करने के लिए चर "newzip" का उपयोग किया
- "Newzip" चर पर लेखन फ़ंक्शन का उपयोग करते हुए, हम संग्रह में "गुरु99.txt" और "guru99.txt.bak" फाइलें जोड़ते हैं।
जब आप कोड निष्पादित करते हैं, तो आप देख सकते हैं कि फ़ाइल "Guru99.zip" नाम के साथ पैनल के दाईं ओर बनाई गई है
नोट : यहां हम "newzip.close" जैसी फ़ाइल को "बंद" करने के लिए कोई आदेश नहीं देते हैं क्योंकि हम "स्कोप" को स्कोप लॉक के साथ उपयोग करते हैं, इसलिए जब प्रोग्राम इस स्कोप के बाहर आता है तो फ़ाइल साफ़ हो जाएगी और अपने आप बंद हो जाएगी।
चरण 5) जब आप -> फ़ाइल पर सही क्लिक करें (testguru99.zip) और -> अपने ओएस (विंडोज एक्सप्लोरर) का चयन करें , यह फ़ोल्डर में संग्रह फ़ाइलों को दिखाएगा जैसा कि नीचे दिखाया गया है।
जब आप फ़ाइल "testguru99.zip" पर डबल क्लिक करते हैं, तो यह एक और विंडो खोलेगा, और यह इसमें शामिल फ़ाइलों को दिखाएगा।
यहाँ पूरा कोड है
अजगर 2 उदाहरण
आयात osआयात बंदzipfile से आयात करें ZipFileओएस आयात पथ सेशटील आयात से make_archivedef मुख्य ():# जाँच करें कि क्या फ़ाइल मौजूद हैयदि पथ।# वर्तमान निर्देशिका में फ़ाइल का पथ प्राप्त करेंsrc = path.realpath ("guru99.txt");# मूल फ़ाइल का नाम बदलेंos.rename ("career.guru99.txt", "guru99.txt")# अब एक ज़िप संग्रह में चीजों को रखाroot_dir, tail = path.split (src)shutil.make_archive ("गुरु99 संग्रह", "ज़िप", root_dir)# ज़िप फाइलों पर अधिक बारीक नियंत्रणज़िपज़ाइल के साथ ("testguru99.zip", "w") न्यूज़िप के रूप में:newzip.write ("guru99.txt")newzip.write ("guru99.txt.bak")अगर __name __ == "__main__":मुख्य()
पायथन 3 उदाहरण
आयात osआयात बंदzipfile से आयात करें ZipFileओएस आयात पथ सेशटील आयात से make_archive# जाँच करें कि क्या फ़ाइल मौजूद हैयदि पथ।# वर्तमान निर्देशिका में फ़ाइल का पथ प्राप्त करेंsrc = path.realpath ("guru99.txt");# मूल फ़ाइल का नाम बदलेंos.rename ("career.guru99.txt", "guru99.txt")# अब एक ज़िप संग्रह में चीजों को रखाroot_dir, tail = path.split (src)shutil.make_archive ("गुरु99 संग्रह", "ज़िप", root_dir)# ज़िप फाइलों पर अधिक बारीक नियंत्रणज़िपज़ाइल के साथ ("testguru99.zip", "w") न्यूज़िप के रूप में:newzip.write ("guru99.txt")newzip.write ("guru99.txt.bak")
सारांश
- पूरी निर्देशिका का उपयोग करने के लिए कमांड "shutil.make_archive (" नाम "," ज़िप ", root_dir) का उपयोग करें
- ज़िप का उपयोग करने के लिए फ़ाइलों का चयन करने के लिए कमांड "ZipFile.write (फ़ाइल नाम)"