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

使用Python编写一个简单的文件压缩程序

发布时间:2023-12-04 11:10:46

下面是一个使用Python编写的简单文件压缩程序的示例代码:

import zipfile
import os

def compress_folder(folder_path, output_path):
    # 创建一个ZipFile对象来存储压缩文件
    zip_obj = zipfile.ZipFile(output_path, 'w', zipfile.ZIP_DEFLATED)

    # 遍历文件夹中的所有文件和子文件夹
    for root, dirs, files in os.walk(folder_path):
        for file in files:
            # 构造文件的完整路径
            file_path = os.path.join(root, file)
            # 将文件添加到压缩文件中
            zip_obj.write(file_path, os.path.relpath(file_path, folder_path))

    # 完成压缩并关闭ZipFile对象
    zip_obj.close()

def extract_zip(zip_path, output_folder):
    # 创建一个ZipFile对象来打开压缩文件
    zip_obj = zipfile.ZipFile(zip_path, 'r')

    # 将压缩文件解压到指定的文件夹中
    zip_obj.extractall(output_folder)

    # 关闭ZipFile对象
    zip_obj.close()

# 使用例子
folder_to_compress = '/path/to/folder'  # 需要压缩的文件夹路径
compressed_file = '/path/to/compressed.zip'  # 压缩文件的输出路径

compress_folder(folder_to_compress, compressed_file)

zip_to_extract = '/path/to/compressed.zip'  # 需要解压的压缩文件路径
output_folder = '/path/to/extracted'  # 解压输出的文件夹路径

extract_zip(zip_to_extract, output_folder)

上述代码中,compress_folder函数用于压缩指定文件夹,extract_zip函数用于解压指定压缩文件,你可以根据需要调用这两个函数。在使用例子中,我们首先压缩了一个文件夹到指定的压缩文件中,然后将压缩文件解压到指定文件夹中。你需要修改folder_to_compresscompressed_filezip_to_extractoutput_folder变量的值来适应你的实际需求。