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