来自多个路径的 zipfile 内容列表

zipfile list of content from multiple paths

我正在尝试获取位于许多不同文件夹中的 .zip 中所有文件的列表

为了识别所有 .zip 文件的路径,我使用了以下代码:

import os, zipfile

path1 = 'C:\desktop\somefolderpath'

files = []
# r=root, d=directories, f = files
for r, d, f in os.walk(path1):
    for file in f:
        if '.zip' in file:
            files.append(os.path.join(r, file))

for f in files:
    print(f)

这样我就得到了整个列表:

C:\desktop\somefolderpath\folder1\zipfile1.zip
C:\desktop\somefolderpath\folder3\zipfile5.zip
...

然后我使用.namelist 来获取某些.zip 中的内容列表

zipPath = 'C:\desktop\somefolderpath\1\folder1\zipfile1.zip'

zip = zipfile.ZipFile(zipPath)
print(zip.namelist())

我现在如何使用“f”中的路径而不是每次都写路径?

您可以像打印文件路径一样遍历列表-

import os, zipfile

path1 = 'C:\desktop\somefolderpath'

files = []
# r=root, d=directories, f = files
for r, d, f in os.walk(path1):
    for file in f:
        if '.zip' in file:
            files.append(os.path.join(r, file))

for zipPath in files:
    zip = zipfile.ZipFile(zipPath)
    print(zip.namelist())