如何无需解压列出多层嵌套压缩包中z.zip根目录的文件与目录?
不解压多层嵌套压缩包获取内层文件列表的方法
使用7-Zip命令行工具
直接通过命令行即可嵌套查看内层压缩包的内容,全程无需解压任何文件:
7z l x.zip y.zip/z.zip
l参数表示列出压缩包内容- 路径
x.zip y.zip/z.zip用于定位:从外层x.zip中找到y.zip,再查看其中z.zip的根目录内容
使用Python脚本实现
如果需要自定义逻辑(比如过滤特定类型文件),可以用Python内置的zipfile模块在内存中处理嵌套压缩包:
import zipfile # 逐层打开嵌套压缩包,全程仅在内存中操作 with zipfile.ZipFile('x.zip', 'r') as x_zip: with x_zip.open('y.zip') as y_zip_bytes: with zipfile.ZipFile(y_zip_bytes, 'r') as y_zip: with y_zip.open('z.zip') as z_zip_bytes: with zipfile.ZipFile(z_zip_bytes, 'r') as z_zip: print("z.zip根目录下的文件与目录:") # 筛选根目录项(不含子目录路径) for entry in z_zip.infolist(): if '/' not in entry.filename or entry.filename.endswith('/'): print(entry.filename)
该脚本不会在磁盘上生成任何解压后的文件,所有操作都在内存中完成。
内容的提问来源于stack exchange,提问作者nik0x1
相关产品推荐
相关产品推荐

