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

使用Python的compress()函数压缩和解压缩多个文件

发布时间:2023-12-25 01:54:38

在Python中,我们可以使用zipfile模块来进行文件的压缩和解压缩操作。zipfile模块提供了一个ZipFile类,该类允许我们创建、读取和操作ZIP归档文件。

下面是一个使用compress()函数压缩多个文件的例子:

import zipfile

def compress_files(file_paths, output_path):
    with zipfile.ZipFile(output_path, 'w') as zipf:
        for file in file_paths:
            zipf.write(file)

file_list = ['file1.txt', 'file2.txt', 'file3.txt']
output_filename = 'compressed_files.zip'

compress_files(file_list, output_filename)

在上面的例子中,我们首先导入了zipfile模块。然后定义了一个compress_files()函数,该函数接收一个包含文件路径的列表file_paths和一个输出文件路径output_path作为参数。

在函数中,我们使用with语句创建了一个zipfile.ZipFile对象,并指定了压缩文件的输出路径output_path和模式为'w',表示写入模式。

接下来,我们使用for循环遍历文件路径列表file_paths,并将每个文件添加到ZIP归档文件中,使用zipf.write(file)方法进行添加。

最后,我们使用compress_files()函数,传入要压缩的文件列表file_list和输出文件的名称output_filename

运行上面的代码,将会把file1.txtfile2.txtfile3.txt这三个文件压缩为一个名为compressed_files.zip的ZIP归档文件。

接下来,我们来看一个使用compress()函数解压缩多个文件的例子:

import zipfile

def extract_files(zip_path, output_dir):
    with zipfile.ZipFile(zip_path, 'r') as zipf:
        zipf.extractall(output_dir)

zip_file = 'compressed_files.zip'
output_directory = 'extracted_files'

extract_files(zip_file, output_directory)

在这个例子中,我们定义了一个extract_files()函数,该函数接收两个参数,一个是要解压缩的ZIP文件的路径zip_path,另一个是输出目录的路径output_dir

在函数中,我们同样使用了with语句创建了一个zipfile.ZipFile对象,指定了要解压缩的ZIP文件的路径zip_path和模式为'r',表示只读模式。

然后,我们使用zipf.extractall(output_dir)方法解压缩ZIP归档文件中的所有文件,并指定解压缩的输出目录output_dir

最后,我们调用extract_files()函数,传入要解压缩的ZIP文件zip_file以及输出目录的名称output_directory

运行上述代码,将会把ZIP归档文件compressed_files.zip解压缩到名为extracted_files的目录中。

以上就是使用Python的compress()函数压缩和解压缩多个文件的示例。你可以根据自己的需求,使用相应的函数来进行文件的压缩和解压缩操作。