如何解压一个zip文件并将文件复制到不同的文件夹中?

2024-05-18 07:54:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我想解压一个压缩文件,并希望复制不同文件夹中的各个文件。你知道吗

举个例子,我有一个名为订阅源.zip". 因为我有3个文件名为A,B,C。我想把这3个文件分别复制到不同的文件夹A1,B1,C1。你知道吗

我已经写了下面的代码解压文件,并知道如何提取所有的文件。但正如前面提到的,我的要求有点不同。你知道吗

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

请帮忙。你知道吗


Tags: 文件代码文件夹文件名a1aswithzip
1条回答
网友
1楼 · 发布于 2024-05-18 07:54:13

与其使用extractall,不如使用namelist获取所有成员的名称,然后对它们进行迭代,并使用extract(member, path)将它们提取到所需的任何路径。你知道吗

在您的示例中:(其中文件夹是字面上的A1B1C1

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)

相关问题 更多 >