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

使用GzipFile()函数在Python中压缩文件并保存

发布时间:2023-12-27 23:23:50

在Python中,可以使用gzip模块中的GzipFile()函数来压缩文件。

GzipFile()函数可以创建一个gzip文件对象,该对象可以用于将数据压缩到gzip文件中。以下是使用GzipFile()函数压缩文件的示例:

import gzip

def compress_file(filename):
    # 打开待压缩的文件
    with open(filename, 'rb') as f:
        # 创建压缩文件对象
        with gzip.open(filename + '.gz', 'wb') as gzfile:
            # 逐个读取并压缩数据块
            while True:
                data = f.read(1024)  # 每次读取1024字节的数据
                if not data:  # 如果读取完毕,跳出循环
                    break
                gzfile.write(data)  # 将数据写入压缩文件中

    print('文件压缩完毕!')

# 示例使用
filename = 'example.txt'  # 待压缩的文件名
compress_file(filename)

上述示例中,我们定义了一个compress_file()函数,用于将指定的文件进行压缩。在函数中,我们首先打开待压缩的文件,并使用gzip.open()创建一个gzip文件对象。然后,我们逐个读取数据块,并将其写入压缩文件对象中。最后,我们关闭文件对象和压缩文件对象,并打印一条信息表示压缩完成。

在示例中,我们假设待压缩的文件名为example.txt。压缩后的文件将保存为example.txt.gz

需要注意的是,GzipFile()函数默认使用压缩级别为6,该级别在时间和压缩比之间取得了平衡。如果需要使用不同的压缩级别,可以在创建gzip文件对象时通过设置compresslevel参数进行调整。

此外,如果要解压缩gzip文件,可以使用gzip模块中的gzip.open()函数。在使用gzip.open()函数时,可以将mode参数设置为'r'(读取)模式,然后按照常规的文件操作方式读取和处理解压后的数据。

希望以上例子能帮助你理解如何使用GzipFile()函数在Python中压缩文件并保存。