我正在寻找一种在 python 中解压缩嵌套 zip 文件的方法。例如,考虑以下结构(为方便起见,假设名称):
- 文件夹
- 压缩文件A.zip
- 压缩文件A1.zip
- 压缩文件A2.zip
- 压缩文件B.zip
- ZipfileB1.zip
- ZipfileB2.zip
- 压缩文件A.zip
...ETC。我正在尝试访问第二个 zip 中的文本文件。我当然不想提取所有内容,因为剪切数字会使计算机崩溃(第一层有几百个拉链,第二层有近 10,000 个拉链(每个拉链))。
我一直在玩'zipfile'模块——我能够打开第一级的zipfile。例如:
zipfile_obj = zipfile.ZipFile("/Folder/ZipfileA.zip")
next_layer_zip = zipfile_obj.open("ZipfileA1.zip")
但是,这会返回一个“ZipExtFile”实例(不是文件或 zipfile 实例)——然后我不能继续打开这个特定的数据类型。我不能这样做:
data = next_layer_zip.open(data.txt)
但是,我可以使用以下命令“读取”此 zip 文件:
next_layer_zip.read()
但这完全没用!(即只能读取压缩数据/goobledigook)。
有没有人对我如何解决这个问题有任何想法(不使用 ZipFile.extract)?
我遇到了这个,http ://pypi.python.org/pypi/zip_open/ - 它看起来完全符合我的要求,但它似乎对我不起作用。(继续获取“[Errno 2] 没有这样的文件或目录:”对于我正在尝试处理的文件,使用该模块)。
任何想法将不胜感激!提前致谢