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

पायथन में ज़िप फ़ाइलों के साथ कार्य करना

पायथन की मानक पुस्तकालय में, ज़िपफाइल नामक एक मॉड्यूल है। इस मॉड्यूल का उपयोग करके, हम ज़िप फ़ाइल पर अलग-अलग ऑपरेशन कर सकते हैं।

ज़िप फ़ाइलें संग्रह फ़ाइल स्वरूप हैं। ज़िप फ़ाइलों का उपयोग हानि कम डेटा संपीड़न सुविधाओं को प्राप्त करने के लिए किया जाता है, इसलिए संपीड़ित रूप से, इसे पूरी तरह से पुनर्निर्मित किया जा सकता है। ज़िप फ़ाइल में एक या अधिक संपीड़ित फ़ाइलें हो सकती हैं।

ज़िप फ़ाइलों की अच्छी विशेषताएं हैं, यह भंडारण आवश्यकताओं को कम करती है, और मानक कनेक्शन पर गति को भी स्थानांतरित करती है।

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

from zipfile import ZipFile

सबसे पहले हम देखेंगे कि एक डायरेक्टरी से जिप फाइल कैसे बनाई जाती है। इस मामले में, मुख्य निर्देशिका में एक फ़ाइल और कुछ अन्य निर्देशिकाएँ होती हैं।

तो सबसे पहले, हमें सभी फाइलों और फ़ोल्डरों को प्राप्त करने के लिए पूरी निर्देशिका को क्रॉल करना होगा और पथों को सूची के रूप में संग्रहीत करना होगा। फिर ज़िप फ़ाइल को राइट मोड के रूप में खोलें, और सभी संग्रहीत पथों से लिखें।

उदाहरण कोड

#Get all files from directory and subdirectories and convert to zip
from zipfile import ZipFile
import os
defget_all_files(directory): #function to get all files from directory
   paths = []
   for root, dirs, files in os.walk(directory):
      for f_name in files:
         path = os.path.join(root, f_name) #get a file and add the total path
         paths.append(path)
      return paths #Return the file paths
directory = './sample_files'
paths = get_all_files(directory)
#Display the filenames
print('The following files will be stored in the zip file')
for file in paths:
   print(file)
#Open zip file as write mode to create zip
with ZipFile('my_files.zip', 'w') as zf:
for file in paths:
   zf.write(file)
print('Zip is created Successfully')

आउटपुट

The following files will be stored in the zip file
./sample_files\TP_python_prev.pdf
./sample_files\text_files\file1.txt
./sample_files\text_files\file2.txt
Zip is created Successfully

अब देखें, zipfile मॉड्यूल का उपयोग करके zip फ़ाइलें कैसे निकालें। ज़िप निकालने के लिए, सबसे पहले, हमें ज़िप फ़ाइल को पढ़ें . के रूप में खोलना होगा मोड, और फिर सामग्री निकालने के लिए Extract() या Extractall() विधि का उपयोग करें। निकालने के लिए ज़िप फ़ाइल से फ़ाइल का पता लगाने के लिए निकालने () विधि पथ लेती है।

उदाहरण कोड

#Extract the zip files
from zipfile import ZipFile
zip_file = 'my_files.zip'
with ZipFile(zip_file, 'r') as zf:
   #display the files inside the zip
   zf.printdir()
   #Extracting the files from zip file
   zf.extractall()
   print('Zip Extraction Completed')

आउटपुट

File Name Modified Sizesample_files/TP_python_prev.pdf 2018-10-19 13:19:48 1915882sample_files/text_files/file1.txt 2018-11-06 13:34:46 22sample_files/text_files/file2.txt 2018-11-06 13:35:02 24Zip Extraction Completed

अब, हम zipfile मॉड्यूल की infolist() विधि के बारे में चर्चा करेंगे। यह फ़ाइल नाम, संशोधन तिथि, फ़ाइल आकार इत्यादि जैसी विभिन्न सूचनाओं की एक सूची प्रदान करता है।

उदाहरण कोड

#Get information about the zip file
from zipfile import ZipFile
import datetime
zip_file = 'my_files.zip'
with ZipFile(zip_file, 'r') as zf:
   for detail in zf.infolist():
      print('File Name: ' + detail.filename)
      print('\tModify Date: ' + str(datetime.datetime(*detail.date_time)))
      print('\tZip Version: ' + str(detail.create_version))
      print('\tSystem Version: ' + str(detail.create_system)) #0 for windows
      print('\tFile Size (Bytes): ' + str(detail.file_size))

आउटपुट

File Name: sample_files/TP_python_prev.pdf Modify Date: 2018-10-19 13:19:48 Zip Version: 20 System Version: 0 File Size (Bytes): 1915882File Name: sample_files/text_files/file1.txt Modify Date: 2018-11-06 13:34:46 Zip Version: 20 System Version: 0 File Size (Bytes): 22File Name: sample_files/text_files/file2.txt Modify Date: 2018-11-06 13:35:02 Zip Version: 20 System Version: 0 File Size (Bytes): 24

  1. Mac . पर फ़ाइलों को ज़िप कैसे करें?

    किसी ने एक बार कहा था कि आप कभी भी बहुत अमीर या बहुत पतले नहीं हो सकते; आप यह भी जोड़ सकते हैं कि आपके पास कभी भी बहुत अधिक संग्रहण स्थान नहीं हो सकता है। अपने मैक पर जगह बचाने का एक तरीका फाइलों और फ़ोल्डरों को संपीड़ित (या ज़िप) करना है ताकि वे कम जगह ले सकें, और यह भी एक अच्छा विचार है यदि आप उन्

  1. AirDroid फ़ाइल स्थानांतरण के साथ फ़ाइलें स्थानांतरित करें

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

  1. कमांड प्रॉम्प्ट मूल बातें:फाइलों और फ़ोल्डरों के साथ कार्य करना

    कमांड प्रॉम्प्ट बेसिक्स:फाइलों और फोल्डर के साथ काम करना अपनी फ़ाइलों को नेविगेट करने के लिए फ़ाइल एक्सप्लोरर का उपयोग करके थक गए हैं? ठीक है, यह आप नहीं हो सकते, जब तक कि आप एक डेवलपर या आईटी पेशेवर न हों। डेवलपर या नहीं, बुनियादी कमांड लाइन ज्ञान हमेशा अच्छा होता है। इस गाइड में, हम कुछ सामान्य