繁体   English   中英

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

[英]Adding multiple folders from different path to a single zip folder

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

请使用如下命令

"zip -r total.zip pathoffolder1 pathoffolder2"

这是微不足道的。 例如

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM