我有一个我想要阅读的文件本身是压缩在一个zip档案。例如,parent.zip包含child.zip,其中包含child.txt。我在阅读child.zip时遇到麻烦。有人可以修改我的代码吗?
我假设我需要创建一个类似于文件的对象的child.zip,然后使用zipfile的第二个实例打开它,但是对于我的zipfile.ZipFile(zfile.open(name))来说,它是新的。它引发了一个zipfile.BadZipfile:“文件不是zip文件”(独立验证)child.zip
import zipfile
with zipfile.ZipFile("parent.zip", "r") as zfile:
for name in zfile.namelist():
if re.search(r'\.zip$', name) != 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"