如何解决Python-访问.ZIP文件中的多个嵌套子文件夹
很抱歉,是否曾经有人问过这个问题,但是我似乎找不到对此的任何引用,而且到目前为止,我编写的代码仍然无效。
假设我有一个名为ABC.ZIP的zip文件。压缩文件中包含子文件夹,例如“ 20201007”,“ 20201008”,“ 20201009”。在这些子文件夹中的每个子文件夹中,都有更多子文件夹,例如“ Reports001”,“ Reports002”,“ Reports003”。每个这些报告文件夹都包含我要搜索其文件名并仅提取某些符合条件的文件的文件。
ABC.ZIP> 20201007> 报告1> 文件| 报告2> 文件| 报告3> 文件| 20201008> 报告1> 文件| 等。
在我已经调用ZipObject.namelist()之后,如何通过python访问zip文件中的子文件夹?到目前为止,这是我尝试过的事情:
with ZipFile(path + "\\" + myZipFileName,'r') as zipObject:
listOfFolderNames = zipObject.namelist()
for folderName in listOfFolderNames:
with ZipFile(path + "\\" + myZipFileName + "\\" + foldername,'r') as ZipObject1
listofSubfolderNames1 = ZipObject.namelist()
带有ZipFile(path + "\\" + myZipFileName + "\\" + foldername,'r') as ZipObject1
的行告诉我没有名为“ C:\ zipfiles \ ABC.ZIP \ 20201007”的文件夹
我已经尝试了os.walk和listdir,但是同样,我似乎无法引用zip文件中的子文件夹。有什么建议吗?
解决方法
以下程序可用于从zip文件中仅读取.txt文件:
with ZipFile ('<your zip file>','r')as zipObject:
for i in zipObject.infolist():
if not i.is_dir() and i.filename.endswith('.txt'):
with zipObject.open((i.filename),'r') as f:
print(f.read())
您可以尝试类似的方法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。