Python中的gzip压缩和解压缩教程
发布时间:2023-12-11 06:48:09
压缩和解压缩是在处理文件和数据时常见的任务之一。gzip模块是Python标准库中用于压缩和解压缩文件的模块。本教程将介绍如何使用gzip模块来压缩和解压缩文件,并提供相应的使用示例。
1. 压缩文件
首先,我们需要导入gzip模块。然后,使用gzip.open()函数创建一个压缩文件对象,并指定要压缩的文件名和模式为'wb'(以二进制写模式打开文件)。
import gzip
def compress_file(file_name):
with open(file_name, 'rb') as file:
with gzip.open(file_name + '.gz', 'wb') as gzip_file:
gzip_file.writelines(file)
这段代码会将指定的文件压缩为一个gzip压缩文件。压缩文件的文件名为原文件名加上后缀'.gz'。使用with语句可以保证文件对象在使用完成后能够正确关闭。
2. 解压缩文件
同样,我们需要导入gzip模块,然后使用gzip.open()函数创建一个解压缩文件对象,并指定要解压缩的文件名和模式为'rb'(以二进制读模式打开文件)。
import gzip
def decompress_file(file_name):
with gzip.open(file_name + '.gz', 'rb') as gzip_file:
with open(file_name, 'wb') as file:
file.writelines(gzip_file)
这段代码会将指定的gzip压缩文件解压缩为一个普通文件。解压缩文件的文件名为去掉后缀'.gz'的原文件名。同样使用with语句可以确保文件对象在使用完成后能够正确关闭。
下面是一个完整的示例代码,演示了如何压缩和解压缩文件。
import gzip
def compress_file(file_name):
with open(file_name, 'rb') as file:
with gzip.open(file_name + '.gz', 'wb') as gzip_file:
gzip_file.writelines(file)
def decompress_file(file_name):
with gzip.open(file_name + '.gz', 'rb') as gzip_file:
with open(file_name, 'wb') as file:
file.writelines(gzip_file)
def main():
compress_file('example.txt')
decompress_file('example.txt')
if __name__ == '__main__':
main()
在这个示例代码中,我们先调用compress_file()函数将'example.txt'文件压缩为'example.txt.gz',然后再调用decompress_file()函数将'example.txt.gz'解压缩为'example.txt'。
以上就是使用gzip模块进行文件压缩和解压缩的教程和示例。希望对你有所帮助!
