Python中使用bz2压缩和解压缩文件的方法
发布时间:2024-01-14 05:05:31
在Python中,我们可以使用bz2模块来进行文件的压缩和解压缩操作。bz2模块提供了BZ2File类,可以直接读写压缩和解压缩后的文件。
下面是一个使用bz2模块进行文件压缩和解压缩的例子:
import bz2
# 压缩文件
def compress_file(input_file, output_file):
with open(input_file, 'rb') as f_in:
with bz2.BZ2File(output_file, 'wb') as f_out:
f_out.writelines(f_in)
# 解压缩文件
def decompress_file(input_file, output_file):
with bz2.BZ2File(input_file, 'rb') as f_in:
with open(output_file, 'wb') as f_out:
f_out.writelines(f_in)
# 压缩文件
compress_file('input.txt', 'compressed.bz2')
# 解压缩文件
decompress_file('compressed.bz2', 'output.txt')
在上面的例子中,我们定义了compress_file()和decompress_file()两个函数来进行文件的压缩和解压缩操作。这两个函数都接受输入文件路径和输出文件路径作为参数。
compress_file()函数中,我们首先使用open()函数读取输入文件的二进制内容,然后使用BZ2File类创建一个压缩文件对象,并指定为写入模式。接着,我们使用writelines()方法将输入文件内容写入压缩文件。
decompress_file()函数中,我们首先使用BZ2File类打开压缩文件,并指定为读取模式。然后,我们使用open()函数创建一个解压缩文件对象,并将压缩文件内容写入解压缩文件。
在使用时,你只需要替换compress_file()和decompress_file()函数中的input_file和output_file参数为你自己的文件路径即可。
需要注意的是,由于压缩和解压缩操作涉及到文件的读写,因此要保证你对文件的读写权限,并确保输入文件存在而输出文件不存在。
