walk traverse ruta for files dirs python ruby

traverse - os.walk python 3



¿Cuál es el equivalente de Ruby del os.walk de Python? (3)

¿Alguien sabe si hay un módulo / función existente dentro de Ruby para atravesar los directorios y archivos del sistema de archivos? Estoy buscando algo similar al os.walk de Python. El módulo más cercano que he encontrado es Find pero requiere un trabajo extra para hacer el recorrido.

El código de Python se parece a lo siguiente:

for root, dirs, files in os.walk(''.''): for name in files: print name for name in dirs: print name


Lo siguiente imprimirá todos los archivos recursivamente. Entonces puedes usar File.directory? Para ver si es un directorio o un archivo.

Dir[''**/*''].each { |f| print f }


Find parece bastante simple:

require "find" Find.find(''mydir''){|f| puts f}


require ''pathname'' def os_walk(dir) root = Pathname(dir) files, dirs = [], [] Pathname(root).find do |path| unless path == root dirs << path if path.directory? files << path if path.file? end end [root, files, dirs] end root, files, dirs = os_walk(''.'')