将新文件从其他路径添加到python中现有的zip文件

时间:2019-01-15 16:54:28

标签: python zipfile

我有一个路径,并且路径中的所有文件都应压缩,一旦压缩文件后,我需要将其他文件从不同的文件路径添加到现有zip文件夹中。我已经编写了用于从第一个路径创建和压缩文件的代码。有什么方法可以将文件从不同的路径追加到现有的zip文件夹中。     这是我的代码:

def _create_zip_folder(self, zip_path, base_path, pattern='.*'):
    zip = zipfile.ZipFile(zip_path, 'w', zipfile.ZIP_DEFLATED)    
    rootlen = len(base_path)
    patterns = pattern.split(",")      
    regex = re.compile('|'.join(fnmatch.translate(p) for p in patterns))
    for base, _, files in os.walk(base_path):
        for file in files:                
           if regex.match(file):
              fn = os.path.join(base, file)        
              zip.write(fn, fn[rootlen:])

Thanks in advance.

1 个答案:

答案 0 :(得分:0)

您可以添加到函数的末尾:

some_other_path = '/some/other/path/a_file.ext'
name = some_other_path.split( os.path.sep )[-1]

zip.write( some_other_path, name )