Glob多种文件类型

问题描述 投票:0回答:1

我想查找具有多种扩展名的某些模式的文件。例如:-

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);
            }
        };
    }

}

rust glob
1个回答
0
投票

是的,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);
            }
        };
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.