【发布时间】:2020-08-02 02:58:25
【问题描述】:
zip 文件包含 tar.gz 文件。如何在不先提取到磁盘的情况下检索 tar.gz 文件的成员?
abc.zip
|- def.txt
|- ghi.zip
|- jkl.tar.gz
def scan_zip_file(zfile):
l_files = []
with zipfile.ZipFile(zfile, 'r') as zf:
for zname in zf.namelist():
if zname.endswith('.zip'):
with zipfile.ZipFile(io.BytesIO(zf.read(zname))) as zf2:
l_files.extend(zf2.namelist())
elif zname.endswith('.tar.gz'):
pass
else:
l_files.append(zname)
【问题讨论】:
-
您发布的代码有什么问题?它的输出与您的预期有何不同?
-
还想从 tar.gz 中检索成员...不仅是 zip