Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python,从变量中的数据打开TarFile_Python_Tar - Fatal编程技术网

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

Python,从变量中的数据打开TarFile,python,tar,Python,Tar,我在HTTPPOST请求的主体中得到了一个tar文件,我希望在不首先将tar文件写入光盘的情况下提取内容。这个文件以前是zip文件,我可以这样做 zip = zipfile.ZipFile(StringIO(request.content.read())) zip.extractall(some_path) 如何使用tarfile.tarfile执行相同的操作 我试过了 tar = tarfile.open(fileobj = StringIO(self.request.content.rea

我在HTTPPOST请求的主体中得到了一个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
使用fileobj参数来创建

编辑:我尝试了以下方法:

# t.py
import tarfile
import StringIO

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

tar.list()

它果然起了作用。

我试过了,但没有成功。我用信息更新了我的问题,内容可能无效。要测试它,请将其写入一个文件,然后使用tar tf验证它。。。在命令行上。您可以选择正确的位置,说明内容无效。有了有效的数据,它就可以工作了。