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

使用Python编写gzip压缩和解压缩程序

发布时间:2023-12-11 06:50:36

gzip是一种用于文件压缩的工具和格式,Python的标准库中包含了gzip模块,可以用于对文件进行gzip压缩和解压缩操作。

使用gzip模块进行压缩的基本步骤如下:

1. 导入gzip模块。

2. 打开需要进行压缩的文件,使用gzip模块的open()函数,并传入文件路径和打开模式'rb'。

3. 创建一个目标文件,用于保存压缩结果,同样使用gzip模块的open()函数,并传入目标文件路径和打开模式'wb'。

4. 调用gzip模块的压缩函数gzip.compress(),将源文件的内容进行压缩,并将结果写入目标文件。

5. 完成压缩操作后,关闭源文件和目标文件。

示例代码如下:

import gzip

def compress_file(source_file, destination_file):
    try:
        with open(source_file, 'rb') as src_file:
            with gzip.open(destination_file, 'wb') as dest_file:
                dest_file.writelines(src_file)
        print("File compressed successfully!")
    except Exception as e:
        print("Failed to compress file. Error: ", str(e))

# 压缩文件
compress_file('source.txt', 'compressed.gz')

上述代码定义了一个名为compress_file的函数,用于进行文件压缩操作。函数接受两个参数,源文件路径(source_file)和目标文件路径(destination_file)。其中,源文件需要以二进制只读模式打开,目标文件则以二进制写入模式打开,并使用gzip.open()函数创建。

调用gzip模块的writelines()方法将源文件内容写入目标文件,并在执行完压缩操作后,打印提示信息。

使用gzip模块进行解压缩的基本步骤如下:

1. 导入gzip模块。

2. 打开需要进行解压缩的文件,使用gzip模块的open()函数,并传入文件路径和打开模式'rb'。

3. 创建一个目标文件,用于保存解压缩结果,同样使用gzip模块的open()函数,并传入目标文件路径和打开模式'wb'。

4. 调用gzip模块的解压缩函数gzip.decompress(),将源文件内容进行解压缩,并将结果写入目标文件。

5. 完成解压缩操作后,关闭源文件和目标文件。

示例代码如下:

import gzip

def decompress_file(source_file, destination_file):
    try:
        with gzip.open(source_file, 'rb') as src_file:
            with open(destination_file, 'wb') as dest_file:
                dest_file.write(src_file.read())
        print("File decompressed successfully!")
    except Exception as e:
        print("Failed to decompress file. Error: ", str(e))

# 解压缩文件
decompress_file('compressed.gz', 'decompressed.txt')

上述代码定义了一个名为decompress_file的函数,用于进行文件解压缩操作。函数接受两个参数,源文件路径(source_file)和目标文件路径(destination_file)。

调用gzip模块的read()方法将源文件内容读取出来,并使用open()函数创建的目标文件对象的write()方法写入解压缩结果。

在执行完解压缩操作后,打印提示信息。

通过上述示例代码,可以实现对文件的gzip压缩和解压缩操作。可以根据具体需要,灵活使用gzip模块的函数和方法,实现更复杂的功能。