To illustrate most clearly,
Directory structure
:
/Users βββ /user . βββ /pixmaps . β βββ pixmap_00.raw . β βββ pixmap_01.raw β βββ /jpeg β β βββ pixmap_00.jpg β β βββ pixmap_01.jpg β βββ /png β βββ pixmap_00.png β βββ pixmap_01.png βββ /docs βββ /programs βββ /misc . . .
Interest Directory: / Users / User / pixmaps
First attemp
import os import zipfile TARGET_DIRECTORY = "/Users/user/pixmaps" ZIPFILE_NAME = "CompressedDir.zip" def zip_dir(directory, zipname): """ Compress a directory (ZIP file). """ if os.path.exists(directory): outZipFile = zipfile.ZipFile(zipname, 'w', zipfile.ZIP_DEFLATED) for dirpath, dirnames, filenames in os.walk(directory): for filename in filenames: filepath = os.path.join(dirpath, filename) outZipFile.write(filepath) outZipFile.close() if __name__ == '__main__': zip_dir(TARGET_DIRECTORY, ZIPFILE_NAME)
ZIP file structure:
CompressedDir.zip . βββ /Users βββ /user βββ /pixmaps βββ pixmap_00.raw βββ pixmap_01.raw βββ /jpeg β βββ pixmap_00.jpg β βββ pixmap_01.jpg βββ /png βββ pixmap_00.png βββ pixmap_01.png
Avoid full directory path
def zip_dir(directory, zipname): """ Compress a directory (ZIP file). """ if os.path.exists(directory): outZipFile = zipfile.ZipFile(zipname, 'w', zipfile.ZIP_DEFLATED)
ZIP file structure:
CompressedDir.zip . βββ /pixmaps βββ pixmap_00.raw βββ pixmap_01.raw βββ /jpeg β βββ pixmap_00.jpg β βββ pixmap_01.jpg βββ /png βββ pixmap_00.png βββ pixmap_01.png
source share