使用 python 读取多个 zip 存档注释
Posted
技术标签:
【中文标题】使用 python 读取多个 zip 存档注释【英文标题】:Reading multiple zip archive comments with python 【发布时间】:2018-05-11 08:25:03 【问题描述】:我的 zip 文件包含许多较小的 zip 文件。
我想遍历所有这些文件, 读取和打印他们的每个 cmets。
我发现 zipfile file.zip
或 unzip -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 存档注释的主要内容,如果未能解决你的问题,请参考以下文章
使用 Haskell 的 zip-conduit 从 zip 存档中的文件中读取行