पाइथनमा जिप फाइलमा सम्पूर्ण डाइरेक्टरी (फोल्डर) कम्प्रेस गर्दा, तपाईंले फाइलहरूको सूची सिर्जना गर्न os.scandir() वा os.listdir() प्रयोग गर्न सक्नुहुन्छ र तिनीहरूलाई कम्प्रेस गर्न zipfile मोड्युल प्रयोग गर्न सक्नुहुन्छ, तर यो प्रयोग गर्न सजिलो छ। shutil मोड्युलको make_archive () सजिलो छ।
zip को अतिरिक्त, टार जस्ता अन्य ढाँचाहरू पनि समर्थित छन्।
zipfile मोड्युल प्रयोग गरेर जिप फाइलहरू कम्प्रेस गर्ने र अनकम्प्रेस गर्ने ’bout थप जानकारीको लागि, कृपया निम्न लेखलाई सन्दर्भ गर्नुहोस्।
- सम्बन्धित लेखहरू:पाइथनमा ZIP फाइलहरू कम्प्रेस र अनकम्प्रेस गर्नको लागि zipfile
जिप फाइलमा डाइरेक्टरी (फोल्डर) कम्प्रेस गर्नुहोस्:shutil.make_archive()
पहिलो तर्क, base_name, सिर्जना गर्नको लागि zip फाइलको नाम निर्दिष्ट गर्दछ (विस्तार बिना), र दोस्रो तर्क, ढाँचा, अभिलेख ढाँचा निर्दिष्ट गर्दछ।
तर्क ढाँचाको लागि निम्न चयन गर्न सकिन्छ।
zip'tar'gztar'bztar'xztar'
तेस्रो तर्क, root_dir, संकुचित हुन डाइरेक्टरीको रूट डाइरेक्टरीको मार्ग निर्दिष्ट गर्दछ, र चौथो तर्क, base_dir, root_dir सापेक्ष संकुचित हुने डाइरेक्टरीको मार्ग निर्दिष्ट गर्दछ। दुबै पूर्वनिर्धारित रूपमा हालको डाइरेक्टरीमा सेट गरिएको छ।
यदि base_dir हटाइयो भने, सम्पूर्ण root_dir संकुचित हुनेछ।
data/temp
उदाहरणका लागि, मानौं हामीसँग निम्न संरचना भएको डाइरेक्टरी छ।
dir ├── dir_sub │ └── test_sub.txt └── test.txt
import shutil shutil.make_archive('data/temp/new_shutil', 'zip', root_dir='data/temp/dir')
नयाँ_shutil.zip माथिको सेटिङहरूसँग संकुचित गरिएको आधार_डिरलाई छोडेर निम्नानुसार डिकम्प्रेस गरिनेछ।
new_shutil ├── dir_sub │ └── test_sub.txt └── test.txt
त्यसपछि, root_dir मा डाइरेक्टरी base_dir को लागि निर्दिष्ट गरिएको छ भने, निम्न देखाइनेछ।
shutil.make_archive('data/temp/new_shutil_sub', 'zip', root_dir='data/temp/dir', base_dir='dir_sub')
माथिको सेटिङहरूसँग संकुचित new_shutil_sub.zip निम्नानुसार डिकम्प्रेस हुनेछ।
dir_sub
└── test_sub.txt

