Я использую функцию генератора, скажем:
def foo():
i=0
while (i<10):
i+=1
yield i
Теперь мне нужно будет скопировать генератор после любого количества итераций, чтобы новая копия сохранила внутреннее состояние (в примере будет такое же "i" ), но теперь будет независимым от оригинала (т.е. итерация по копии не должна изменять оригинал).
Я пробовал использовать copy.deepcopy
, но я получаю сообщение об ошибке:
"TypeError: object.__new__(generator) is not safe, use generator.__new__()"
Очевидно, я мог бы решить это, используя обычные функции со счетчиками, например. Но я действительно ищу решение с использованием генераторов.