我想查找具有多种扩展名的某些模式的文件。例如:-
some/path/**.{json,jsonc}
但是rust glob功能不适用于这些类型的图案。这是我的解决方法:-
extern crate glob;
use glob::glob;
fn main() {
for file_name_result in glob("example/**.{json,jsonc}").unwrap() {
match file_name_result {
Ok(file_path)=>{
println!("Found:{}",file_path.display());
}
Err(e)=>{
eprintln!("ERROR: {}",e);
}
};
}
}
是的,glob
不接受这种模式。您需要为每个扩展名调用一次:
extern crate glob;
use glob::glob;
fn main() {
for file_name_result in glob ("example/**/*.json").unwrap()
.chain (glob ("example/**/*.jsonc").unwrap())
{
match file_name_result {
Ok(file_path)=>{
println!("Found:{}",file_path.display());
}
Err(e)=>{
eprintln!("ERROR: {}",e);
}
};
}
}