将来自不同路径的多个文件夹添加到单个zip文件夹

时间:2019-01-15 15:12:55

标签: python

我在不同的路径中有两个文件夹,可以说path1 / file1和path2 / file2。我想将两个文件都压缩到一个zip文件夹中。有什么办法可以做到这一点。

任何帮助都非常欢迎。预先感谢。

3 个答案:

答案 0 :(得分:0)

请使用以下命令

"zip -r total.zip pathoffolder1 pathoffolder2"

答案 1 :(得分:0)

这很简单。例如

import zipfile

with zipfile.ZipFile("Your_zip_file_path.zip", "w") as myzip:
    myzip.write("path1")
    myzip.write("path2")

https://docs.python.org/3.5/library/zipfile.html

答案 2 :(得分:0)

在写入arcname="..."以在zip中创建新目录时,需要设置Zipfile

from pathlib import Path
import zipfile


def zipFlat(files, zipFolder, outFile):
    zipFolder = Path(zipFolder)
    zipf = zipfile.ZipFile(outFile, 'w')
    for file in files:
        filename = Path(file).name
        arcPath = zipFolder / Path(filename)
        zipf.write(file, arcname=str(arcPath))


filesToZip = ['/tmp/foo/bar/R.txt', '/tmp/foo/baz/Z.txt']
zipFlat(filesToZip, 'myArchiveDir', '/tmp/archive.zip')

生成的zip文件保存在“ myArchiveDir”中:

# unzip -l archive.zip                                                                                                                        
Archive:  archive.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  01-15-2019 16:18   myArchiveDir/R.txt
        0  01-15-2019 16:18   myArchiveDir/Z.txt
---------                     -------
        0                     2 files