使用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模块,我们可以方便地对多个文件进行压缩和解压缩操作,从而方便地进行文件的存储和传输。
