私はいくつかの他のtarアーカイブを含むtarアーカイブを持っています。次の例では、主要な.tarファイルを完全に抽出していますが、他の.tarファイルに問題が発生しています。.tarファイル内の.tarファイルへのアクセス
import tarfile
import os
fd = tarfile.open('test.tar')
for member in fd.getmembers():
if not member.isfile():
continue
cfile = fd.extractfile(member)
name = cfile.name
filename, file_extension = os.path.splitext(name)
#print filename + "----" + file_extension
if file_extension == ".tar":
print cfile
#print cfile.read()
print cfile.name
cfile.close()
fd.close()
これには次の値を返します。
file1.txt
file2.txt
<tarfile.ExFileObject object at 0x101989690>
tar1.tar
だから私はtar1.tarファイルオブジェクトを取得することができます。しかし、私はtar1.tarからメンバーやコンテンツを取得する方法を考えることができません。
...あなたがメインのtarファイルのためにそれをやっているのと同じ方法? – kindall
はい、私はそれを試みましたが、 'getmembers()' doesntは 'tarfile.ExFileObject'オブジェクトのために終了します – user1513388
あなたはそれを再帰的にやってみるかもしれません。あなたはpython2または3を使用していますか?あなたが私にそのファイルへのアクセス権を与えるなら、私はそれにショットをつけてコードを掲示することができます。 – JeanPaulDepraz