What's The Ruby Equivalent Of Python's Os.walk?
Does anyone know if there's an existing module/function inside Ruby to traverse file system directories and files? I'm looking for something similar to Python's os.walk. The close
Solution 1:
The following will print all files recursively. Then you can use File.directory? to see if the it is a directory or a file.
Dir['**/*'].each { |f| print f }
Solution 2:
Find seems pretty simple to me:
require"find"Find.find('mydir'){|f| puts f}
Solution 3:
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('.')
Post a Comment for "What's The Ruby Equivalent Of Python's Os.walk?"