Python,从变量中的数据打开TarFile

时间:2012-10-03 09:02:13

标签: python tar

我在http post请求的主体中得到一个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

1 个答案:

答案 0 :(得分: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()

它按预期工作。