How to clone a Python generator object?
If you know you are going to iterate through the whole generator for every usage, you will probably get the best performance by unrolling the generator to a list and using the list multiple times.
walk = list(os.walk('/home'))
You can use itertools.tee()
:
walk, walk2 = itertools.tee(walk)
Note that this might "need significant extra storage", as the documentation points out.