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(''.'')