Создать zip-файл из генератора на Python? описывает решение для записи .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
Я могу решить это в оболочке так:
$ curl --options http://URL | tar zxf - ./path/to/interesting_file
Как я могу сделать то же самое в Python в данных условиях?