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

简明Python教程:gzip压缩和解压缩实践

发布时间:2023-12-11 06:52:01

在Python中,我们可以使用gzip模块来进行gzip压缩和解压缩操作。gzip模块提供了两个主要的函数:gzip.compress()和gzip.decompress()。下面是gzip压缩和解压缩的实践示例:

1. 压缩文件

import gzip

def compress_file(file_path):
    # 打开原文件
    with open(file_path, 'rb') as file:
        data = file.read()

    # 创建压缩文件名
    compressed_file_path = file_path + '.gz'

    # 打开压缩文件
    with gzip.open(compressed_file_path, 'wb') as compressed_file:
        # 压缩并写入数据
        compressed_file.write(data)

    print(f'文件已成功压缩为:{compressed_file_path}')

在上面的示例中,我们首先使用open函数读取原文件的内容。然后,我们通过在原文件名后面添加'.gz'来创建压缩文件名。接下来,我们使用gzip.open函数创建一个用于写入压缩数据的文件对象,并将数据写入该文件中。最后,我们打印出压缩文件的路径。

2. 解压文件

import gzip

def decompress_file(file_path):
    # 创建解压后的文件名
    decompressed_file_path = file_path[:-3]

    # 打开压缩文件
    with gzip.open(file_path, 'rb') as compressed_file:
        # 解压数据
        data = compressed_file.read()

    # 写入解压后的文件
    with open(decompressed_file_path, 'wb') as decompressed_file:
        decompressed_file.write(data)

    print(f'文件已成功解压为:{decompressed_file_path}')

在上面的示例中,我们首先使用压缩文件的路径获取解压后的文件名。然后,我们使用gzip.open函数打开压缩文件,并读取压缩数据。接下来,我们使用open函数创建一个用于写入解压数据的文件对象,并将数据写入该文件中。最后,我们打印出解压后文件的路径。

以上就是gzip压缩和解压缩的实践示例。在实际应用中,我们可以使用这些函数来对文件进行gzip压缩和解压缩,以减小文件大小和提高传输效率。