Python उदाहरण के साथ ज़िप फ़ाइल

Python आपको शीघ्रता से ज़िप/टार अभिलेखागार बनाने की अनुमति देता है।

निम्न आदेश संपूर्ण निर्देशिका को ज़िप कर देगा

shutil.make_archive(output_filename, 'zip', dir_name)

निम्न आदेश आपको उन फ़ाइलों पर नियंत्रण देता है जिन्हें आप संग्रहित करना चाहते हैं

ZipFile.write(filename)

यहाँ ज़िप फ़ाइल बनाने के चरण दिए गए हैं Python

चरण 1) से एक संग्रह फ़ाइल बनाने के लिए Python, सुनिश्चित करें कि आपका आयात विवरण सही और क्रम में है। यहाँ संग्रह के लिए आयात विवरण है from shutil import make_archive

Python ज़िप फ़ाइल

कोड स्पष्टीकरण

  • मॉड्यूल Shutil से make_archive क्लास आयात करें
  • निर्देशिका और फ़ाइल नाम को पथ से पाठ फ़ाइल के स्थान तक विभाजित करने के लिए विभाजन फ़ंक्शन का उपयोग करें (guru99)
  • फिर हम आर्काइव फ़ाइल बनाने के लिए मॉड्यूल “shutil.make_archive(“guru99 archive, “zip”, root_dir)” को कॉल करते हैं, जो ज़िप प्रारूप में होगी
  • उसके बाद हम उन चीज़ों की रूट डायरेक्टरी पास करते हैं जिन्हें हम ज़िप करना चाहते हैं। तो डायरेक्टरी में सब कुछ ज़िप हो जाएगा
  • जब आप कोड चलाते हैं, तो आप देख सकते हैं कि पैनल के दाईं ओर आर्काइव ज़िप फ़ाइल बनाई गई है।

चरण 2) एक बार आपकी आर्काइव फ़ाइल बन जाने के बाद, आप फ़ाइल पर राइट-क्लिक कर सकते हैं और ओएस का चयन कर सकते हैं, और यह आपकी आर्काइव फ़ाइलों को दिखाएगा जैसा कि नीचे दिखाया गया है

Python ज़िप फ़ाइल

अब आपकी archive.zip फ़ाइल आपके OS पर दिखाई देगी (Windows एक्सप्लोरर)

Python ज़िप फ़ाइल

चरण 3) जब आप फ़ाइल पर डबल-क्लिक करेंगे, तो आपको वहां मौजूद सभी फ़ाइलों की सूची दिखाई देगी।

Python ज़िप फ़ाइल

चरण 4) In Python हम आर्काइव पर अधिक नियंत्रण रख सकते हैं क्योंकि हम परिभाषित कर सकते हैं कि आर्काइव के अंतर्गत कौन सी विशिष्ट फ़ाइल शामिल करनी है। हमारे मामले में, हम आर्काइव के अंतर्गत दो फ़ाइलें शामिल करेंगे “गुरु99.txt” और “गुरु99.txt.bak”.

Python ज़िप फ़ाइल

कोड स्पष्टीकरण

  • ज़िप फ़ाइल से ज़िपफ़ाइल क्लास आयात करें Python मॉड्यूल। यह मॉड्यूल ज़िप फ़ाइलें बनाने पर पूर्ण नियंत्रण देता है
  • हम नाम ( “testguru99.zip, “w”) के साथ एक नया ज़िपफ़ाइल बनाते हैं
  • एक नया ज़िपफ़ाइल क्लास बनाने के लिए, अनुमति पास करने की आवश्यकता होती है क्योंकि यह एक फ़ाइल है, इसलिए आपको फ़ाइल में newzip के रूप में जानकारी लिखनी होगी
  • हमने जो ज़िप फ़ाइल बनाई है, उसे संदर्भित करने के लिए हमने वेरिएबल “newzip” का उपयोग किया है
  • “newzip” वेरिएबल पर write फ़ंक्शन का उपयोग करके, हम “guru99.txt” और “guru99.txt.bak” फ़ाइलों को संग्रह में जोड़ते हैं

जब आप कोड निष्पादित करते हैं तो आप देख सकते हैं कि फ़ाइल पैनल के दाईं ओर "guru99.zip" नाम से बनाई गई है

नोटयहां हम फ़ाइल को “बंद” करने के लिए “newzip.close” जैसा कोई आदेश नहीं देते हैं क्योंकि हम “With” स्कोप लॉक का उपयोग करते हैं, इसलिए जब प्रोग्राम इस दायरे से बाहर हो जाता है तो फ़ाइल साफ़ हो जाएगी और स्वचालित रूप से बंद हो जाएगी।

चरण 5) आप जब -> फ़ाइल (testguru99.zip) पर राइट क्लिक करें और -> अपना ओएस चुनें (Windows एक्सप्लोरर), यह फ़ोल्डर में संग्रहीत फ़ाइलों को दिखाएगा जैसा कि नीचे दिखाया गया है।

Python ज़िप फ़ाइल

जब आप “testguru99.zip” फ़ाइल पर डबल क्लिक करेंगे तो एक अन्य विंडो खुलेगी और इसमें शामिल फ़ाइलें दिखाई देंगी।

Python ज़िप फ़ाइल

यहाँ पूरा कोड है

Python 2 उदाहरण

import os
import shutil
from zipfile import ZipFile
from os import path
from shutil import make_archive

def main():
# Check if file exists
	if path.exists("guru99.txt"):
# get the path to the file in the current directory
	src = path.realpath("guru99.txt");
# rename the original file
	os.rename("career.guru99.txt","guru99.txt")
# now put things into a ZIP archive
	root_dir,tail = path.split(src)
    shutil.make_archive("guru99 archive", "zip", root_dir)
# more fine-grained control over ZIP files
	with ZipFile("testguru99.zip","w") as newzip:
	newzip.write("guru99.txt")
	    newzip.write("guru99.txt.bak")
if __name__== "__main__":
	  main()

Python 3 उदाहरण

import os
import shutil
from zipfile import ZipFile
from os import path
from shutil import make_archive

    # Check if file exists
       if path.exists("guru99.txt"):
    # get the path to the file in the current directory
        src = path.realpath("guru99.txt");
    # rename the original file
        os.rename("career.guru99.txt","guru99.txt")
    # now put things into a ZIP archive
        root_dir,tail = path.split(src)
        shutil.make_archive("guru99 archive","zip",root_dir)
    # more fine-grained control over ZIP files
        with ZipFile("testguru99.zip", "w") as newzip:
            newzip.write("guru99.txt")
            newzip.write("guru99.txt.bak")

सारांश

  • संपूर्ण निर्देशिका को ज़िप करने के लिए कमांड “shutil.make_archive(“name”,,”zip”, root_dir) का उपयोग करें
  • ज़िप करने के लिए फ़ाइलों का चयन करने के लिए “ZipFile.write(filename)” कमांड का उपयोग करें