gpt4 book ai didi

Python从zip文件中提取名称中带有空格的文件夹

转载 作者:太空宇宙 更新时间:2023-11-03 14:33:12 27 4
gpt4 key购买 nike

目前我正在编写一个 python 脚本,该脚本从 zip 文件中提取文件。为此,我使用 ZipFile 模块。对于文件来说一切都很好,但我对名称中包含空格的文件夹有问题。

我的 zip 文件具有以下结构:

Test.zip
- foo/test.txt
- foo bar/test.txt

我提取文件的代码如下所示:

currentFile = ZipFile(zipFilePath, 'r')

currentFile.extractall(path, 'foo/')
currentFile.extractall(path, 'foo bar/')

但是第二次调用会生成以下错误:

KeyError: "There is no item named 'b' in the archive"

我认为这指的是 bar 的“b”。那么您是否知道为什么第二个调用不起作用或者我应该如何转义文件夹名称中的空格字符以提取它?

最佳答案

我自己发现了错误。来自documentation :

ZipFile.extractall([path[, members[, pwd]]])

Extract all members from the archive to the current working directory. path specifies a different directory to extract to. members is optional and must be a subset of the list returned by namelist(). pwd is the password used for encrypted files.

列表的子集引用回列表。所以我尝试了:

currentFile.extractall(path, ['foo bar/'])

效果很好。希望它能帮助某人。另请注意,与 extract 方法相比,路径和成员是相反的!

关于Python从zip文件中提取名称中带有空格的文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47135096/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com