如何列出Rust中目录的所有文件?我正在寻找相当于以下Python代码.
files = os.listdir('./')
Run Code Online (Sandbox Code Playgroud)
Kai*_*ren 61
这是一个例子:
use std::fs;
fn main() {
let paths = fs::read_dir("./").unwrap();
for path in paths {
println!("Name: {}", path.unwrap().path().display())
}
}
Run Code Online (Sandbox Code Playgroud)
它将简单地遍历文件并打印出他们的名字.
Dou*_*oug 13
你也可以使用glob,它明确地用于此目的.
extern crate glob;
use self::glob::glob;
let files:Vec<Path> = glob("*").collect();
Run Code Online (Sandbox Code Playgroud)
extern crate glob;
use glob::glob;
fn main() {
for e in glob("../*").expect("Failed to read glob pattern") {
println!("{}", e.unwrap().display());
}
}
Run Code Online (Sandbox Code Playgroud)
您可能会看到来源。
对于递归遍历目录,您可以使用walkdir板条箱 ( 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());
}
}
}
Run Code Online (Sandbox Code Playgroud)
另请参阅The Rust Cookbook的Directory Traversal部分。
| 归档时间: |
|
| 查看次数: |
21121 次 |
| 最近记录: |