How can I list all the files of a directory in Rust? I am looking for the equivalent of the following Python code.
files = os.listdir(\'./\')
This can be done with glob. Try this on the playground:
extern crate glob;
use glob::glob;
fn main() {
for e in glob("../*").expect("Failed to read glob pattern") {
println!("{}", e.unwrap().display());
}
}
You may see the source.
And for walking directories recursively, you can use the walkdir crate (Playground):
extern crate walkdir;
use walkdir::WalkDir;
fn main() {
for e in WalkDir::new(".").into_iter().filter_map(|e| e.ok()) {
if e.metadata().unwrap().is_file() {
println!("{}", e.path().display());
}
}
}
See also the Directory Traversal section of The Rust Cookbook.