如何在Python中使用生成器创建zip文件?提供了一种从一组文件将.zip写入磁盘的解决方案。
我面临着相反的问题。我已经得到了一个生成器:
stream = attachment.iter_bytes()
print type(stream)
我希望能将其导入到类似于tar gunzip文件的对象中:
b = io.BytesIO(stream)
f = tarfile.open(mode='r:gz', fileobj = b)
f.list()
但是我不会:
<type 'generator'>
Error: 'generator' does not have the buffer interface
我可以在shell中这样解决:
我可以通过如下shell命令来解决:
$ curl --options http://URL | tar zxf - ./path/to/interesting_file
在给定的条件下,我该如何使用Python实现相同的功能?
'r|*'
而不是'r:*'
,否则您将会得到一个“io.UnsupportedOperation: seek”异常。 - Martin