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

文件压缩:使用Python函数压缩和解压文件,以便在传输或备份期间减少文件大小

发布时间:2023-07-02 11:36:18

文件压缩是一种常见的方法,可以通过减少文件大小来提高传输效率或节省存储空间。在Python中,我们可以使用gzip模块来实现文件的压缩和解压缩。

压缩文件:

首先,我们需要导入gzip模块,并打开要进行压缩的文件。可以使用open函数来打开文件,并使用rb模式来以二进制方式读取文件内容。

import gzip

def compress_file(input_file, output_file):
    with open(input_file, 'rb') as f_in:
        with gzip.open(output_file, 'wb') as f_out:
            f_out.writelines(f_in)

在上面的代码中,我们使用两个嵌套的with语句来打开输入和输出文件。通过使用二进制模式打开文件,我们可以确保正确读取和写入文件内容。然后,我们将输入文件的内容逐行写入输出文件。

解压文件:

与压缩文件类似,我们同样需要导入gzip模块,并打开要进行解压缩的文件。可以使用open函数来打开文件,并使用wb模式来以二进制方式写入文件内容。

import gzip

def decompress_file(input_file, output_file):
    with gzip.open(input_file, 'rb') as f_in:
        with open(output_file, 'wb') as f_out:
            f_out.write(f_in.read())

在上面的代码中,我们同样使用了两个嵌套的with语句来打开输入和输出文件。通过使用二进制模式打开文件,我们可以确保正确读取和写入文件内容。然后,我们将输入文件的内容读取,并将其写入到输出文件中。

使用示例:

compress_file('input.txt', 'compressed_file.gz')
decompress_file('compressed_file.gz', 'output.txt')

在上面的示例中,我们将input.txt文件进行压缩,并将压缩后的结果保存为compressed_file.gz。然后,我们将压缩文件进行解压缩,并将解压缩后的结果保存为output.txt。

总结:

通过使用gzip模块,我们可以方便地压缩和解压缩文件。这能够有效地减少文件大小,提高传输效率或节省存储空间。无论是在传输文件还是进行文件备份时,文件压缩都是一个非常实用的技术。