在zipfile中递归列出所有目录而不在python中提取

时间:2016-09-21 13:09:21

标签: python file directory zipfile filestructure

在Python中,我们可以获取zipfile中所有文件的列表,而无需使用以下代码解压缩zip文件。

import zipfile
zip_ref = zipfile.ZipFile(zipfilepath, 'r')
    for file in zip_ref.namelist():
        print file

同样有一种方法可以在不解压缩zipfile的情况下获取zipfile中所有目录和子目录的列表吗?

2 个答案:

答案 0 :(得分:1)

import zipfile

with zipfile.ZipFile(zipfilepath, 'r') as myzip:
   print(myzip.printdir())

答案 1 :(得分:0)

感谢大家的帮助。

import zipfile

subdirs_list = []
zip_ref = zipfile.ZipFile('C:/Download/sample.zip', 'r')
for dir in zip_ref.namelist():
    if dir.endswith('/'):
        subdirs_list.append(os.path.basename(os.path.normpath(dir)))

print subdirs_list

使用上面的代码,我可以在不提取sample.zip的情况下获取zipfile中所有目录和子目录的列表。