読みたいファイルがあり、それ自体がzipアーカイブ内に圧縮されています。たとえば、parent.zipには、child.txtを含むchild.zipが含まれています。child.zipの読み取りに問題があります。誰かが私のコードを修正できますか?
child.zipをファイルのようなオブジェクトとして作成し、それをzipfileの2番目のインスタンスで開く必要があると思いますが、Pythonを初めて使用する場合は、zipfile.ZipFile(zfile.open(name))はばかげています。zipfile.BadZipfileを生成します:(独立して検証された)child.zipの「ファイルは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"