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

使用Python进行文件压缩和解压缩

发布时间:2023-12-04 15:55:02

在Python中,我们可以使用zipfile模块对文件进行压缩和解压缩操作。该模块提供了压缩和解压缩zip格式文件的功能,同时也支持其他常见的压缩格式。

以下是使用Python进行文件压缩和解压缩的示例代码:

### 文件压缩

import zipfile

def compress_files(file_paths, zip_file_name):
    # 创建一个ZipFile对象,用于写入并压缩文件
    with zipfile.ZipFile(zip_file_name, 'w') as zipf:
        # 遍历文件列表
        for file in file_paths:
            # 将文件添加到压缩文件
            zipf.write(file)

    print('文件压缩完成')

# 定义要压缩的文件列表
files_to_compress = ['file1.txt', 'file2.jpg', 'folder/file3.png']
# 定义压缩文件名
compressed_file_name = 'compressed_files.zip'

# 调用压缩函数
compress_files(files_to_compress, compressed_file_name)

在上述代码中,我们定义了一个名为compress_files的函数,该函数接受一个文件路径列表和一个压缩文件名作为输入。函数内部使用zipfile.ZipFile创建一个ZipFile对象,然后遍历文件列表将所有文件添加到该对象中,最后使用close方法关闭文件。完成压缩后,会输出"文件压缩完成"。

### 文件解压缩

import zipfile

def decompress_files(zip_file_name, output_folder):
    # 创建一个ZipFile对象,用于读取并解压文件
    with zipfile.ZipFile(zip_file_name, 'r') as zipf:
        # 解压缩文件到指定目录
        zipf.extractall(output_folder)

    print('文件解压缩完成')

# 定义要解压缩的压缩文件名
compressed_file_name = 'compressed_files.zip'
# 定义解压缩输出目录
output_folder = 'output'

# 调用解压缩函数
decompress_files(compressed_file_name, output_folder)

在上述代码中,我们定义了一个名为decompress_files的函数,该函数接受一个压缩文件名和一个输出目录作为输入。函数内部使用zipfile.ZipFile创建一个ZipFile对象,然后使用extractall方法将压缩文件解压缩到指定目录。完成解压缩后,会输出"文件解压缩完成"。

以上是基本的文件压缩和解压缩的示例代码,你可以根据实际情况进行修改和扩展。在使用zipfile模块时,还可以设置压缩级别、密码等参数,具体可以参考官方文档。