глубокое копирование генератора в 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__()"   

Очевидно, я мог бы решить это, используя обычные функции со счетчиками, например. Но я действительно ищу решение с использованием генераторов.

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

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