Адаптируйте итератор, чтобы он вел себя как файловый объект в Python

У меня есть генератор, выдающий список строк. Есть ли в Python утилита / адаптер, который может сделать его похожим на файл?

Например,

>>> def str_fn():
...     for c in 'a', 'b', 'c':
...         yield c * 3
... 
>>> for s in str_fn():
...     print s
... 
aaa
bbb
ccc
>>> stream = some_magic_adaptor(str_fn())
>>> while True:
...    data = stream.read(4)
...    if not data:
...        break
...    print data
aaab
bbcc
c

Поскольку данные могут быть большими и должны быть потоковыми (каждый фрагмент занимает несколько килобайт, весь поток - десятки мегабайт), я не хочу с нетерпением оценивать весь генератор перед передачей его потоковому адаптеру.

Ответы на вопрос(8)

Ваш ответ на вопрос