15 个版本 (8 个重大更新)

0.9.1 2024 年 1 月 6 日
0.9.0 2023 年 12 月 20 日
0.8.1 2020 年 12 月 8 日
0.8.0 2020 年 3 月 7 日
0.1.0 2018 年 2 月 20 日

文件系统 中排名 #23

Download history 155885/week @ 2024-04-29 152943/week @ 2024-05-06 166209/week @ 2024-05-13 180029/week @ 2024-05-20 171761/week @ 2024-05-27 173592/week @ 2024-06-03 189919/week @ 2024-06-10 177321/week @ 2024-06-17 174195/week @ 2024-06-24 162506/week @ 2024-07-01 179363/week @ 2024-07-08 164320/week @ 2024-07-15 168740/week @ 2024-07-22 174433/week @ 2024-07-29 176441/week @ 2024-08-05 170728/week @ 2024-08-12

每月下载量 698,523
1,246 Crates 使用(直接使用 79 个)

MIT 许可证

32KB
538

GlobWalk

License crates.io

使用 glob 递归查找目录中的文件。

此 crate 现已进入永久维护模式,新用户可能需要考虑使用 glob

glob crate 的比较

此 crate 是多年前编写的,当时 glob 是一个非常不同的 crate,在它被 rust-lang org 采纳之前。

如今,glob 更好,总体上维护得更好,但它似乎缺少一些功能(根据 glob 0.3.1

  • glob crate 不支持在模式中包含 {a,b}
  • globwalk 可以同时匹配多个 glob 模式。
  • globwalk 支持使用 ! 排除结果。(负模式)
  • glob 在当前工作目录中搜索文件,而 globwalk 从指定的基本目录开始。

使用方法

要使用此 crate,请将 globwalk 添加到项目的 Cargo.toml 依赖项中

[dependencies]
globwalk = "0.9.1"

以下代码示例递归地查找所有 pngjpggif 文件

extern crate globwalk;

use std::fs;

for img in globwalk::glob("*.{png,jpg,gif}").unwrap() {
    if let Ok(img) = img {
        println!("{:?}", img.path());
    }
}

有关更多详细信息,请参阅 文档

依赖关系

~4–12MB
~132K SLoC