Python中使用zipfile()模块将文件添加到现有的ZIP文件中的方法
发布时间:2023-12-30 13:52:49
在Python中,使用zipfile模块可以很方便地将文件添加到一个现有的ZIP文件中。下面是一个添加文件到ZIP文件的方法,带有一个使用例子。
首先,导入zipfile模块:
import zipfile
然后,使用ZipFile类打开现有的ZIP文件,并指定模式为a(表示追加模式):
with zipfile.ZipFile('existing.zip', 'a') as zipf:
# 添加文件的代码
接下来,可以使用zipf对象的write()方法将文件添加到ZIP文件中。write()方法有两个参数: 个参数为要添加的文件的路径,第二个参数为文件在ZIP中的存储路径(可以使用相对路径或绝对路径)。例如,将文件file1.txt添加到ZIP文件中:
zipf.write('file1.txt', 'folder1/file1.txt')
如果要添加多个文件,可以使用循环来实现。以下是一个完整的示例代码,将当前目录下的所有.txt文件都添加到一个名为existing.zip的ZIP文件中,并存储在名为files的子目录中:
import zipfile
import os
# 获取当前目录下的所有txt文件
files = [f for f in os.listdir('.') if os.path.isfile(f) and f.endswith('.txt')]
# 打开现有的ZIP文件
with zipfile.ZipFile('existing.zip', 'a') as zipf:
# 将文件添加到ZIP中的files目录下
for file in files:
zipf.write(file, os.path.join('files', file))
运行上述代码后,当前目录下的所有.txt文件都将被添加到existing.zip文件的files目录下。
总结:通过使用zipfile模块的write()方法,可以很方便地将文件添加到现有的ZIP文件中。可以使用相对路径或绝对路径指定文件在ZIP中的存储位置。使用循环可以方便地添加多个文件。
