压缩指定路径中的目录,压缩完成后删除该目录。

import os
import zipfile
import shutil

dirname = '/opt/backup/seeyon_logs/'
listdir = os.listdir(dirname)

def compress_directory(directory_path, output_path):
    with zipfile.ZipFile(output_path, 'w', zipfile.ZIP_DEFLATED) as zipf:
        for root, dirs, files in os.walk(directory_path):
            for file in files:
                file_path = os.path.join(root, file)
                zipf.write(file_path, arcname=os.path.relpath(file_path, directory_path))
def delete_directory(path):
    if os.path.exists(path):
        shutil.rmtree(path)
for file in listdir:
    if os.path.isdir(dirname+file):
        compress_directory(dirname+file, '/opt/backup/seeyon_logs/%s.zip'%(file))
        print('目录压缩成功')
        delete_directory(dirname+file)