【问题标题】:How to unzip a zip file and copy the files into different different folders?如何解压缩 zip 文件并将文件复制到不同的不同文件夹中?
【发布时间】:2019-09-26 17:49:59
【问题描述】:

我想解压缩一个 zip 文件并想将各个文件复制到不同的不同文件夹中。

举个例子,我有一个名为“Feeds.zip”的 zip 文件。我有3个文件名A,B,C。我想将这3个文件分别复制到不同的文件夹A1、B1、C1中。

我已经编写了以下代码来解压缩文件并知道如何提取所有文件。但如前所述,我的要求有点不同。

with zipfile.ZipFile('C:/Feeds.zip', "r") as z:
    z.extractall("C:/Desktop/")

请帮忙。

【问题讨论】:

    标签: python python-3.x zipfile


    【解决方案1】:

    不要使用extractall,而是使用namelist 来获取所有成员的名称,然后遍历它们并使用extract(member, path) 将它们提取到您想要的任何路径。

    在您的示例中:(文件夹字面意思A1,B1,C1

    import os.path
    with zipfile.ZipFile('C:/Feeds.zip', "r") as z:
        for member in z.namelist():
            dirname = os.path.basename(member) + "1"
            z.extract(member, dirname)
    

    如果文件有扩展名并且您不希望它们出现在文件夹名称中,请使用dirname = os.path.basename(member).split('.')[0] + "1"

    当然,您可以将 dirname 替换为每个文件所需的任何其他文件夹/路径。例如,如果您已经有一个要保存文件的路径数组,则可以这样做

    for member,path in zip(z.namelist(), paths):
            z.extract(member, path)
    

    【讨论】:

    猜你喜欢
    • 2021-05-16
    • 1970-01-01
    • 2020-07-10
    • 2014-10-23
    • 1970-01-01
    • 1970-01-01
    • 2016-12-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多