ignore

ignore 箱 提供了一个快速的递归目录迭代器,它尊重各种过滤器,如 globs,文件类型和.gitignore文件。此包还提供对 gitignore 和文件类型匹配器的较低层的直接访问。

Linux build status Windows build status ignore - 图3

MIT 或UNLICENSE的双重许可.

文档

https://docs.rs/ignore

用法

将此添加到您的Cargo.toml:

  1. [dependencies]
  2. ignore = "0.4"

在你的箱根使用:

  1. extern crate ignore;

此示例显示了此箱子的最基本用法。此代码将递归遍历当前目录,同时根据.ignore.gitignore文件中的 ignore globs 模式,自动过滤掉文件和目录:

  1. use ignore::Walk;
  2. for result in Walk::new("./") {
  3. // Each item yielded by the iterator is either a directory entry or an
  4. // error, so either print the path or the error.
  5. match result {
  6. Ok(entry) => println!("{}", entry.path().display()),
  7. Err(err) => println!("ERROR: {}", err),
  8. }
  9. }

示例:高级

默认情况下,递归目录迭代器将忽略隐藏的文件和目录。可以通过构建WalkBuilder迭代器来禁用它:

  1. use ignore::WalkBuilder;
  2. for result in WalkBuilder::new("./").hidden(false).build() {
  3. println!("{:?}", result);
  4. }

请参阅文档WalkBuilder,有许多其他选择.