Python-da bütün qovluğu (qovluğu) zip faylına sıxarkən siz os.scandir() və ya os.listdir() funksiyalarından istifadə edərək faylların siyahısını yarada və onları sıxışdırmaq üçün zipfayl modulundan istifadə edə bilərsiniz, lakin ondan istifadə etmək daha asandır. shutil modulunun make_archive () daha asandır.
Zip-ə əlavə olaraq, tar kimi digər formatlar da dəstəklənir.
Zipfayl modulundan istifadə edərək zip fayllarının sıxılması və açılması haqqında ətraflı məlumat üçün aşağıdakı məqaləyə müraciət edin.
- Əlaqədar Məqalələr:Python-da ZIP fayllarını sıxışdırmaq və açmaq üçün zipfile
Bir qovluğu (qovluğu) zip faylına sıxın:shutil.make_archive()
Birinci arqument, base_name, yaradılacaq zip faylın adını (uzatma olmadan), ikinci arqument, format isə arxiv formatını təyin edir.
Arqument formatı üçün aşağıdakılar seçilə bilər.
zip'
tar'
gztar'
bztar'
xztar'
Üçüncü arqument, kök_dir, sıxılacaq kataloqun kök kataloqunun yolunu, dördüncü arqument, base_dir, kök_dirə nisbətən sıxılacaq kataloqun yolunu müəyyən edir. Hər ikisi standart olaraq cari qovluğa təyin edilmişdir.
base_dir buraxılıbsa, bütün root_dir sıxılacaq.
data/temp
Məsələn, fərz edək ki, bizim aşağıdakı struktura malik bir kataloqumuz var.
dir ├── dir_sub │ └── test_sub.txt └── test.txt
import shutil shutil.make_archive('data/temp/new_shutil', 'zip', root_dir='data/temp/dir')
Yuxarıdakı parametrlərlə, base_dir-i buraxmaqla sıxılmış new_shutil.zip aşağıdakı kimi açılacaq.
new_shutil ├── dir_sub │ └── test_sub.txt └── test.txt
Sonra, root_dir-dəki qovluq base_dir üçün göstərilibsə, aşağıdakılar göstəriləcək.
shutil.make_archive('data/temp/new_shutil_sub', 'zip', root_dir='data/temp/dir', base_dir='dir_sub')
Yuxarıdakı parametrlərlə sıxılmış new_shutil_sub.zip aşağıdakı kimi açılacaq.
dir_sub
└── test_sub.txt