Þegar þú þjappar heilli möppu (möppu) í zip-skrá í Python geturðu notað os.scandir() eða os.listdir() til að búa til lista yfir skrár og nota zipfile-eininguna til að þjappa þeim, en það er auðveldara í notkun make_archive () shutil einingarinnar er auðveldara.
Auk zip eru önnur snið eins og tar einnig studd.
Fyrir frekari upplýsingar um að þjappa og afþjappa zip skrár með zipfile mát, vinsamlegast skoðaðu eftirfarandi grein.
- Tengdar greinar:zipfile til að þjappa og afþjappa ZIP skrár í Python
Þjappaðu möppu (möppu) í zip skrá:shutil.make_archive()
Fyrsta röksemdin, base_name, tilgreinir heiti zip-skrárinnar sem á að búa til (án framlengingar) og seinni röksemdin, snið, tilgreinir skjalasafnssniðið.
Eftirfarandi er hægt að velja fyrir rifrildissniðið.
zip'
tar'
gztar'
bztar'
xztar'
Þriðja röksemdin, root_dir, tilgreinir slóð rótarskrár möppunnar sem á að þjappa saman og fjórða röksemdin, base_dir, tilgreinir slóð möppunnar sem á að þjappa saman miðað við root_dir. Báðir eru sjálfgefið stilltir á núverandi möppu.
Ef base_dir er sleppt, verður allt root_dir þjappað.
data/temp
Segjum til dæmis að við höfum möppu með eftirfarandi uppbyggingu.
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.zip þjappað með ofangreindum stillingum þar sem base_dir er sleppt verður afþjappað sem hér segir.
new_shutil ├── dir_sub │ └── test_sub.txt └── test.txt
Síðan, ef skráin í root_dir er tilgreind fyrir base_dir, mun eftirfarandi birtast.
shutil.make_archive('data/temp/new_shutil_sub', 'zip', root_dir='data/temp/dir', base_dir='dir_sub')
New_shutil_sub.zip þjappað með ofangreindum stillingum verður afþjappað sem hér segir.
dir_sub
└── test_sub.txt