使用 python 读取多个 zip 存档注释

Posted

技术标签:

【中文标题】使用 python 读取多个 zip 存档注释【英文标题】:Reading multiple zip archive comments with python 【发布时间】:2018-05-11 08:25:03 【问题描述】:

我的 zip 文件包含许多较小的 zip 文件。

我想遍历所有这些文件, 读取和打印他们的每个 cmets。

我发现 zipfile file.zipunzip -z file.zip 可以单独对文件执行此操作,但我正在寻找一种方法来处理所有这些。

还没有找到完美的东西,但是 this 发帖。但是,代码对我来说太高级了,我需要一些非常基本的东西,首先:)

任何想法或信息都会很棒,谢谢!

【问题讨论】:

【参考方案1】:

不确定您在寻找什么,但这里有一些我在 Ubuntu Linux 机器上完成的方法。

for i in `ls *.zip`; do unzip -l $i; done

unzip -l myzip.zip

unzip -p myzip.zip | python -c 'import zipfile,sys,StringIO;print     "\n".join(zipfile.ZipFile(StringIO.StringIO(sys.stdin.read())).namelist())'

【讨论】:

【参考方案2】:

您可以使用 zipfile 库来遍历您的文件和 使用 zipinfo.comment 获取他们的 cmets

import zipfile

file = zipfile.ZipFile('filepath.zip')

infolist = file.infolist()
    for info in infolist:
        print(info.comment)

上面的示例打印了 zip 文件中每个文件的注释。

您可以循环浏览您的 zip 文件并以类似的方式打印它们的内容。

查看official zipfile documentation,超级清晰。

【讨论】:

以上是关于使用 python 读取多个 zip 存档注释的主要内容,如果未能解决你的问题,请参考以下文章

在python中创建zip存档

将文件压缩到内存并以字节python的形式读取整个存档

使用 Haskell 的 zip-conduit 从 zip 存档中的文件中读取行

将 zip 存档拆分为多个块

如何从嵌套存档中读取 ZipEntry CRC(zip in zip)

使用 ZipFile 类从多个文件的 zip 存档中解压缩文件