1

http ポスト リクエストの本文で tar ファイルを取得しました。最初に tar ファイルをディスクに書き込まずにコンテンツを抽出したいと考えています。ファイルは以前はzipファイルでしたが、私はそれを行うことができました

zip = zipfile.ZipFile(StringIO(request.content.read()))
zip.extractall(some_path)

tarfile.TarFile を使用して同じことを行うにはどうすればよいですか?

私は試した

tar = tarfile.open(fileobj = StringIO(self.request.content.read()))

しかし、エラーメッセージが表示されました:

file could not be opened successfully
4

1 に答える 1

0

fileobjにパラメータを使用しますtarfile.open

編集:私は次のことを試しました:

# t.py
import tarfile
import StringIO

tarf = open('test.tar', 'rb')
tarstrio = StringIO.StringIO(tarf.read())
tar = tarfile.open(fileobj=tarstrio)

tar.list()

期待どおりに機能しました。

于 2012-10-03T09:06:06.553 に答える