PythonでZIP中のZIPを操作する方法
【PythonでZIPファイル中のZIPファイルを操作したい】
PythonでZIP内のZIPを再帰的に探して操作したいと考えています。
スクリプトを書いてみたのですが、どうもうまくいきません。
どなたかマズところをご教示いただけないでしょうか?
以下のような構造のデータファイルを用意しました。
SampleZip1.zip
Sample1.txt
Sample2.txt
SampleZip1-1.zip
Sample1-1-1.txt
Sample1-1-2.txt
SampleZip1-2.zip
Sample1-2-1.txt
Sample1-2-2.txt
以下がテストスクリプトです。
import zipfile
def listZipFile( fileName, indent ) :
if not zipfile.is_zipfile( fileName ) :
print( "not zip" + indent + fileName )
return
print( "zip" + indent + fileName )
zip = zipfile.ZipFile( fileName, 'r' )
for f in zip.namelist():
listZipFile( f, "¥t"+ indent )
zip.close()
zipFileName = 'SampleZip1.zip'
listZipFile( zipFileName, "¥t" )
が、結果は以下の通りで、ZIPの中のZIPをZIPファイルと判定してくれないみたいです。
>findZip.py
zip SampleZip1.zip
not zip SampleZip1-2.zip
not zip Sample1.txt
not zip Sample2.txt
not zip SampleZip1-1.zip
ZIPファイル中のファイルに対してzipfile.ZipFile()を使うのは無理があるのかなぁ?
一時ファイルにでもいったん出さないとダメ?
などと想像しているのですが・・・
どなたかよろしくお願いいたします。