欢迎访问宙启技术站
智能推送

使用Python编写的Zip文件管理器

发布时间:2023-12-12 18:53:47

下面是一个使用Python编写的Zip文件管理器的代码示例:

import zipfile

def create_zip_file(zip_name, files):
    """
    创建一个新的Zip文件,并将指定的文件添加到其中
    :param zip_name: 新的Zip文件名
    :param files: 要添加的文件列表
    """
    with zipfile.ZipFile(zip_name, 'w') as new_zip:
        for file in files:
            new_zip.write(file)

def extract_zip_file(zip_name, destination):
    """
    解压缩指定的Zip文件到目标文件夹
    :param zip_name: 要解压的Zip文件名
    :param destination: 解压后的文件夹路径
    """
    with zipfile.ZipFile(zip_name, 'r') as zip_ref:
        zip_ref.extractall(destination)

def add_files_to_zip(zip_name, files):
    """
    向指定的Zip文件中添加文件
    :param zip_name: 要添加文件的Zip文件名
    :param files: 要添加到Zip文件的文件列表
    """
    with zipfile.ZipFile(zip_name, 'a') as zip_ref:
        for file in files:
            zip_ref.write(file)

def remove_file_from_zip(zip_name, file):
    """
    从指定的Zip文件中删除文件
    :param zip_name: 要删除文件的Zip文件名
    :param file: 要从Zip文件中删除的文件名
    """
    with zipfile.ZipFile(zip_name, 'a') as zip_ref:
        file_list = zip_ref.namelist()
        if file in file_list:
            file_list.remove(file)
            zip_ref.extractall()
            for f in file_list:
                zip_ref.write(f)

# 示例用法:
# 创建一个名为example.zip的Zip文件,并将file1.txt和file2.txt添加到其中
create_zip_file('example.zip', ['file1.txt', 'file2.txt'])

# 解压缩example.zip文件到指定的destination文件夹
extract_zip_file('example.zip', 'destination')

# 将file3.txt和file4.txt添加到example.zip文件中
add_files_to_zip('example.zip', ['file3.txt', 'file4.txt'])

# 从example.zip文件中删除file2.txt
remove_file_from_zip('example.zip', 'file2.txt')

以上代码示例了如何使用Python的zipfile模块来创建、解压缩、添加和删除Zip文件中的文件。你可以根据自己的需求修改以上代码,并将其用于实际的Zip文件管理任务中。