Glob 多种文件类型

Ram*_*chi 0 glob rust

我想找到具有多个扩展名的某些模式的文件。前任:-

some/path/**.{json,jsonc}
Run Code Online (Sandbox Code Playgroud)

但 Rust glob函数不适用于这些类型的模式。这是我的解决方法:-

some/path/**.{json,jsonc}
Run Code Online (Sandbox Code Playgroud)

Jmb*_*Jmb 5

你说得对,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);
            }
        };
    }
}
Run Code Online (Sandbox Code Playgroud)