使用Python编写gzip压缩和解压缩程序
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模块的函数和方法,实现更复杂的功能。
