பைத்தானில் ஒரு முழு கோப்பகத்தையும் (கோப்புறை) சுருக்கும்போது, கோப்புகளின் பட்டியலை உருவாக்க os.scandir() அல்லது os.listdir() ஐப் பயன்படுத்தலாம் மற்றும் அவற்றை சுருக்க ஜிப்ஃபைல் தொகுதியைப் பயன்படுத்தலாம், ஆனால் அதைப் பயன்படுத்துவது எளிது. shutil தொகுதியின் make_archive () எளிதானது.
ஜிப்பைத் தவிர, தார் போன்ற பிற வடிவங்களும் ஆதரிக்கப்படுகின்றன.
ஜிப்ஃபைல் தொகுதியைப் பயன்படுத்தி ஜிப் கோப்புகளை சுருக்குவது மற்றும் அவிழ்ப்பது பற்றிய கூடுதல் தகவலுக்கு, பின்வரும் கட்டுரையைப் பார்க்கவும்.
- தொடர்புடைய கட்டுரைகள்:பைத்தானில் ZIP கோப்புகளை சுருக்கவும் மற்றும் அவிழ்க்கவும் zip file
ஒரு கோப்பகத்தை (கோப்புறை) ஜிப் கோப்பில் சுருக்கவும்:shutil.make_archive()
முதல் வாதம், base_name, உருவாக்கப்பட வேண்டிய zip கோப்பின் பெயரைக் குறிப்பிடுகிறது (நீட்டிப்பு இல்லாமல்), மற்றும் இரண்டாவது வாதமான வடிவம், காப்பக வடிவமைப்பைக் குறிப்பிடுகிறது.
வாத வடிவத்திற்கு பின்வருவனவற்றை தேர்ந்தெடுக்கலாம்.
zip'
tar'
gztar'
bztar'
xztar'
மூன்றாவது வாதம், ரூட்_டிர், சுருக்கப்பட வேண்டிய கோப்பகத்தின் ரூட் கோப்பகத்தின் பாதையைக் குறிப்பிடுகிறது, மேலும் நான்காவது வாதம், பேஸ்_டிர், ரூட்_டிர் உடன் சுருக்கப்பட வேண்டிய கோப்பகத்தின் பாதையைக் குறிப்பிடுகிறது. இரண்டும் முன்னிருப்பாக தற்போதைய கோப்பகத்தில் அமைக்கப்பட்டுள்ளன.
அடிப்படை_டிர் தவிர்க்கப்பட்டால், ரூட்_டிர் முழுவதும் சுருக்கப்படும்.
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')
base_dir ஐத் தவிர்த்து, மேலே உள்ள அமைப்புகளுடன் சுருக்கப்பட்ட new_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