You can download this code by clicking the button below.
This code is now available for download.
This function compresses a specified folder and all its contents into a single zip file.
Technology Stack : os, zipfile, json, csv, shutil, sys, datetime
Code Type : Compress Folder
Code Difficulty : Intermediate
def zip_file(input_folder, output_file):
import os
import zipfile
import json
import csv
import shutil
import sys
import datetime
# Create a zipfile
with zipfile.ZipFile(output_file, 'w') as zipf:
# Walk through the input folder
for root, dirs, files in os.walk(input_folder):
for file in files:
file_path = os.path.join(root, file)
# Add the file to the zipfile
zipf.write(file_path, os.path.relpath(file_path, input_folder))
# Write a JSON file with metadata
metadata = {
"type": "Compress Folder",
"hard": "中级",
"explain": "该函数将指定文件夹及其所有内容压缩成一个zip文件。",
"tench": "os, zipfile, json, csv, shutil, sys, datetime",
"explain_en": "This function compresses a specified folder and all its contents into a single zip file.",
"tench_en": "os, zipfile, json, csv, shutil, sys, datetime"
}
with open(os.path.join(os.path.dirname(output_file), 'metadata.json'), 'w') as metadata_file:
json.dump(metadata, metadata_file, ensure_ascii=False, indent=4)
print(f"Folder '{input_folder}' has been compressed into '{output_file}' with metadata.")