使用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中压缩文件并保存。
