我有一个我想阅读的文件,它本身压缩在一个 zip 存档中。例如,parent.zip 包含 child.zip,其中包含 child.txt。我在阅读 child.zip 时遇到问题。任何人都可以更正我的代码吗?
我假设我需要将 child.zip 创建为类似文件的对象,然后使用第二个 zipfile 实例打开它,但是对于 python 来说,我的 zipfile.ZipFile(zfile.open(name)) 很愚蠢。它会在(独立验证的)child.zip 上引发一个 zipfile.BadZipfile:“文件不是 zip 文件”
import zipfile
with zipfile.ZipFile("parent.zip", "r") as zfile:
for name in zfile.namelist():
if re.search(r'\.zip$', name) is not None:
# We have a zip within a zip
with **zipfile.ZipFile(zfile.open(name))** as zfile2:
for name2 in zfile2.namelist():
# Now we can extract
logging.info( "Found internal internal file: " + name2)
print "Processing code goes here"