Considere este escenario:¿Cómo clonar un objeto generador de 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)
Sé que este ejemplo es un poco redundante, pero se debe considerar que tenemos que utilizar los mismos datos walk
más de una vez. Tengo un escenario de referencia y el uso de los mismos datos walk
es obligatorio para obtener resultados útiles.
He intentado clonar y usar walk2 = walk
en la segunda iteración, pero no funcionó. La pregunta es ... ¿Cómo puedo copiarlo? ¿Es alguna vez posible?
Gracias de antemano.
¿Qué tiene de malo usar 'os.walk ('/ home')' dos veces? cuál es el problema? –
@ S.Lott Bueno, ese tipo de tarea varía mucho en cada ejecución. Otro problema es que después de la primera ejecución el sistema probablemente almacenará en caché los resultados, por lo que en las próximas ejecuciones obtendremos resultados poco precisos. La idea es caminar antes y luego medir dos escenarios pasándolo como argumento. :) –
El almacenamiento en caché no causará resultados falsos. –