import os
import shutil
def compress_subfolders(source_folder):
# 检查源文件夹是否存在
if not os.path.exists(source_folder):
print(f"The folder '{source_folder}' does not exist.")
return
try:
# 获取源文件夹中的所有子文件夹
subfolders = [f for f in os.listdir(source_folder) if os.path.isdir(os.path.join(source_folder, f))]
# 遍历每个子文件夹并进行压缩
for subfolder in subfolders:
subfolder_path = os.path.join(source_folder, subfolder)
# 构建目标压缩文件路径
zip_file_path = os.path.join(source_folder, f"{subfolder}")
# 执行压缩操作
shutil.make_archive(zip_file_path, 'zip', subfolder_path)
print(f"Compressed folder '{subfolder}' to '{zip_file_path}'")
except Exception as e:
print(f"An error occurred: {e}")
# 指定源文件夹路径
source_folder = r'C:\Users\Lenovo\Desktop\nc'
# 调用函数执行压缩操作
compress_subfolders(source_folder)
代码中的注释已经很详尽了,笔者在这就不多赘述了,该代码实现了在pycharm中实现压缩文件夹中的所有子文件夹,格式为zip格式,压缩不包括源文件夹。