Tiefes Kopieren eines Generators in Python

Ich benutze eine Generatorfunktion, sagen wir:

def foo():
    i=0
    while (i<10):
         i+=1
         yield i

Jetzt möchte ich die Option, den Generator nach einer beliebigen Anzahl von Iterationen zu kopieren, damit die neue Kopie den internen Status beibehält (im Beispiel das gleiche 'i'), aber jetzt vom Original unabhängig ist (dh iteriert) über die Kopie sollte das Original nicht verändert werden).

Ich habe versucht mitcopy.deepcopy aber ich bekomme den fehler:

 "TypeError: object.__new__(generator) is not safe, use generator.__new__()"   

Offensichtlich könnte ich dies zum Beispiel mit regulären Funktionen mit Zählern lösen. Aber ich bin wirklich auf der Suche nach einer Lösung mit Generatoren.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage