Када компримујете цео директоријум (фолдер) у зип датотеку у Питхон-у, можете користити ос.сцандир() или ос.листдир() да направите листу датотека и користите модул зипфиле да их компримујете, али је лакше користити маке_арцхиве () схутил модула је лакши.
Поред зип-а, подржани су и други формати као што је тар.
За више информација о компримовању и декомпримовању зип датотека помоћу зипфиле модула, погледајте следећи чланак.
- Повезани чланци:зипфиле за компримовање и декомпримовање ЗИП датотека у Питхон-у
Компримујте директоријум (фолдер) у зип датотеку:shutil.make_archive()
Први аргумент, басе_наме, наводи име зип датотеке која се креира (без екстензије), а други аргумент, формат, специфицира формат архиве.
Следеће се може изабрати за формат аргумента.
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')
Нев_схутил.зип компримован са горњим подешавањима која изостављају басе_дир биће декомпримован на следећи начин.
new_shutil ├── dir_sub │ └── test_sub.txt └── test.txt
Затим, ако је директоријум у роот_дир наведен за басе_дир, биће приказано следеће.
shutil.make_archive('data/temp/new_shutil_sub', 'zip', root_dir='data/temp/dir', base_dir='dir_sub')
Нев_схутил_суб.зип компримован са горњим подешавањима биће декомпримован на следећи начин.
dir_sub
└── test_sub.txt