본문 바로가기

Python

python zip folder

1. 

#input folder zip
import shutil
shutil.make_archive(output_filename, 'zip', input_folder_name)

 

2.

#특정 extension만 recursive하게 zip
import os
import zipfile
EXTENSION=['jpg', 'JPG']
def zip_folder(input_folder_path, output_zip_path):
    with zipfile.ZipFile(output_zip_path, mode='w') as zipf:
        len_dir_path = len(input_folder_path)
        for root, _, files in os.walk(input_folder_path):
            for file in files:
            	if file.endswith(EXTENSION):
                	file_path = os.path.join(root, file)
                	zipf.write(file_path, file_path[len_dir_path:])
                
zip_folder('path/to/input_directory', 'path/to/output_zip')