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

使用Python的zipfile模块压缩多个文件到一个zip文件中

发布时间:2023-12-17 04:18:15

zipfile模块是Python内置的用于操作zip文件的模块。它提供了创建、读取和写入zip文件的功能。使用zipfile模块可以方便地将多个文件压缩到一个zip文件中。

下面是一个使用zipfile模块压缩多个文件到一个zip文件中的例子:

import zipfile

def zip_files(file_paths, zip_name):
    # 创建一个新的zip文件
    zipf = zipfile.ZipFile(zip_name, 'w', zipfile.ZIP_DEFLATED)

    # 将每个文件依次添加到zip文件中
    for file_path in file_paths:
        # 获取文件名
        file_name = file_path.split('/')[-1]
        
        # 将文件添加到zip文件中
        zipf.write(file_path, file_name)

    # 关闭zip文件
    zipf.close()

# 测试例子
if __name__ == '__main__':
    # 需要压缩的文件路径列表
    file_paths = ['file1.txt', 'file2.txt', 'file3.txt']
    
    # 压缩后的zip文件名
    zip_name = 'files.zip'
    
    # 压缩文件
    zip_files(file_paths, zip_name)

以上代码中,我们首先导入了zipfile模块。然后定义了一个名为zip_files的函数,该函数接受两个参数:file_paths和zip_name。file_paths是一个包含需要压缩的文件路径的列表,zip_name是压缩后的zip文件名。

在函数内部,我们首先使用zipfile.ZipFile类创建了一个新的zip文件,并指定了模式为'w',表示写入模式。其次,我们使用for循环遍历每个文件路径,并使用zipf.write方法将文件添加到zip文件中。write方法的 个参数是文件路径,第二个参数是文件名。

最后,我们使用zipf.close方法关闭zip文件。

在主程序中,我们定义了需要压缩的文件路径列表和压缩后的zip文件名,并调用zip_files函数进行压缩。

运行以上代码后,会生成一个名为files.zip的压缩文件,其中包含了file1.txt、file2.txt和file3.txt这三个文件。

以上是一个使用Python的zipfile模块压缩多个文件到一个zip文件中的例子。通过使用zipfile模块,我们可以方便地对多个文件进行压缩和解压缩操作,从而方便地进行文件的存储和传输。