Comment puis-je lister tous les fichiers d'un répertoire dans Rust? Je recherche l'équivalent du code Python suivant.
files = os.listdir('./')
Voici un exemple :
use std::fs;
fn main() {
let paths = fs::read_dir("./").unwrap();
for path in paths {
println!("Name: {}", path.unwrap().path().display())
}
}
Il suffit de parcourir les fichiers et d’imprimer leur nom.
Vous pouvez également utiliser glob , ce qui est expressément prévu à cet effet.
extern crate glob;
use self::glob::glob;
let files:Vec<Path> = glob("*").collect();
Essayez ceci sur le terrain de jeu :
extern crate glob;
use glob::glob;
fn main() {
for e in glob("../*").expect("Failed to read glob pattern") {
println!("{}", e.unwrap().display());
}
}
Vous pouvez voir le source .
Et pour les répertoires de marche récursivement, essayez ceci sur le terrain de jeu :
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());
}
}
}
Voir walkdir , et Répertoire Traversal .
J'espère que ça aide.