Dzwebs.Net

撰写电脑技术杂文十余年

rust使用WalkDir扫描指定路径下的文件及子目录下的文件的代码

Admin | 2023-1-30 10:59:41 | 被阅次数 | 1519

温馨提示!

如果未能解决您的问题,请点击搜索;登陆可复制文章,点击登陆

  rust中的WalkDir的功能:可以列举指定目录下的目录名称及文件名称,包括所有的子目录。下面是示例

  一、库的使用

  [dependencies]
  walkdir="*"

  二、代码示例

//extern crate walkdir;
use walkdir::WalkDir;
fn main() {
let path="src\\mymod".to_string();//相对路径
let getfilelist:Vec<String>=getpathandfilename(path);
for p in getfilelist.iter(){
if p.ends_with("rs") || p.ends_with("doc"){
println!("每一个文件:{}", p);
}
}
}

//这里我使用了一个自定义函数
fn getpathandfilename(path:String)->Vec<String>{
let mut myfilenamelist: Vec<String>=vec![];
//只需要文件及对应的路径,不需要空文件夹的名称及路径
    for e in WalkDir::new(path).into_iter().filter_map(|e| e.ok()) {
        if e.metadata().unwrap().is_file() {
            //println!("{}", e.path().display());
myfilenamelist.push(e.path().display().to_string());
        }else{
println!("这个是文件夹路径 {}", e.path().display().to_string());
}
    }
myfilenamelist
}

  三、运行结果


  结果如上图。


该杂文来自: 最新技术

上一篇:rust之main调用下级目录里的多个rs文件配合mod,us

下一篇:rust使用map filter根据条件筛选字符串数组的方法

网站备案号:

网站备案号:滇ICP备11001339号-7

版权属性:

Copyright 2007-2021-forever Inc. all Rights Reserved.

联系方式:

Email:dzwebs@126.com QQ:83539231 访问统计