如何在Rust中列出目录的文件?

如何在Rust中列出目录的文件?,rust,Rust,如何在Rust中列出目录中的所有文件?我正在寻找与以下Python代码等效的代码 files = os.listdir('./') 您也可以使用,这是明确为此目的 extern crate glob; use self::glob::glob; let files:Vec<Path> = glob("*").collect(); extern板条箱glob; 使用self::glob::glob; let文件:Vec=glob(“*”).collect(); 使用。这是: 它只

如何在Rust中列出目录中的所有文件?我正在寻找与以下Python代码等效的代码

files = os.listdir('./')
您也可以使用,这是明确为此目的

extern crate glob;
use self::glob::glob;

let files:Vec<Path> = glob("*").collect();
extern板条箱glob;
使用self::glob::glob;
let文件:Vec=glob(“*”).collect();
使用。这是:

它只需在文件上迭代并打印出它们的名称。

这可以通过使用来完成。尝试:

你可能会看到


对于递归地遍历目录,您可以使用板条箱():


另请参见Rust Cookbook一节

std::io::fs::readdir
这不再有效:
trait绑定的“[u8]:std::marker::Sized”在“std::path::path”中不满足(在“std::path::path”中,“[u8]”[E0277]`[u8]`在编译时没有已知的常量大小[E0277]必需,因为它出现在`std::vec::vec`[E0277]
Glob所需的`std::path::path`[E0277]类型中,我认为Glob很好,只需使用自述文件中的示例即可。
use std::fs;

fn main() {
    let paths = fs::read_dir("./").unwrap();

    for path in paths {
        println!("Name: {}", path.unwrap().path().display())
    }
}
extern crate glob;
use glob::glob;
fn main() {
    for e in glob("../*").expect("Failed to read glob pattern") {
        println!("{}", e.unwrap().display());
    }
}
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());
        }
    }
}