У меня есть генератор, производящий список строк. Есть ли утилита/адаптер в 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
Поскольку данные могут быть большими и должны быть потоковыми (каждый фрагмент составляет несколько килобайт, весь поток - десятки мегабайт), я не хочу с нетерпением оценивать весь генератор, прежде чем передавать его в потоковый адаптер.