如何解压缩 zip 文件并将文件复制到不同的不同文件夹中?
Posted
技术标签:
【中文标题】如何解压缩 zip 文件并将文件复制到不同的不同文件夹中?【英文标题】:How to unzip a zip file and copy the files into different different folders? 【发布时间】: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/")
请帮忙。
【问题讨论】:
【参考方案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)
【讨论】:
很高兴我能帮上忙。如果我的回答有效,请考虑accepting it and voting it up。以上是关于如何解压缩 zip 文件并将文件复制到不同的不同文件夹中?的主要内容,如果未能解决你的问题,请参考以下文章