如何克隆一个Python生成器对象?

6 浏览
0 Comments

如何克隆一个Python生成器对象?

考虑以下情景:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
walk = os.walk('/home')
for root, dirs, files in walk:
    for pathname in dirs+files:
        print os.path.join(root, pathname)
for root, dirs, files in walk:
    for pathname in dirs+files:
        print os.path.join(root, pathname)

我知道这个例子有些多余,但你需要考虑我们需要多次使用相同的`walk`数据。我有一个基准测试场景,使用相同的`walk`数据是必需的,以获得有用的结果。

我尝试了`walk2 = walk`来克隆并在第二次迭代中使用,但它没有起作用。问题是...我该如何复制它?是否有可能?

提前谢谢您。

0