Skip to content

Compressing Files (Zip and Tar archives)

Zip with shutil (quick)

make_zip.py
import shutil
 
# creates my_backup.zip
shutil.make_archive("my_backup", "zip", root_dir="./demo")
make_zip.py
import shutil
 
# creates my_backup.zip
shutil.make_archive("my_backup", "zip", root_dir="./demo")

Tar archives

make_tar.py
import tarfile
 
with tarfile.open("demo.tar.gz", "w:gz") as tar:
    tar.add("./demo", arcname="demo")
make_tar.py
import tarfile
 
with tarfile.open("demo.tar.gz", "w:gz") as tar:
    tar.add("./demo", arcname="demo")

Extracting

extract_zip.py
import zipfile
 
with zipfile.ZipFile("my_backup.zip") as z:
    z.extractall("./restored")
extract_zip.py
import zipfile
 
with zipfile.ZipFile("my_backup.zip") as z:
    z.extractall("./restored")

Tips

  • store archives outside the source folder
  • validate extracted size/location

๐Ÿงช Try It Yourself

Exercise 1 โ€“ List Files with os.listdir

Exercise 2 โ€“ Join Paths with os.path.join

Exercise 3 โ€“ Write and Read a File

If this helped you, consider buying me a coffee โ˜•

Buy me a coffee

Was this page helpful?

Let us know how we did