1个不稳定版本
0.4.20-dev.0 | 2023年7月12日 |
---|
#468 in 文件系统
325KB
6.5K SLoC
ignore
ignore crate提供了一个快速递归目录迭代器,它尊重各种过滤器,如glob、文件类型和.gitignore文件。此crate还提供了对gitignore和文件类型匹配器的底层直接访问。
双许可下MIT或UNLICENSE。
文档
使用
将其添加到您的Cargo.toml
[dependencies]
ignore = "0.4"
示例
此示例显示了此crate的最基本用法。此代码将递归遍历当前目录,并根据在.ignore
和.gitignore
等文件中找到的ignore glob自动过滤文件和目录。
use ignore::Walk;
for result in Walk::new("./") {
// Each item yielded by the iterator is either a directory entry or an
// error, so either print the path or the error.
match result {
Ok(entry) => println!("{}", entry.path().display()),
Err(err) => println!("ERROR: {}", err),
}
}
示例:高级
默认情况下,递归目录迭代器将忽略隐藏文件和目录。可以通过使用WalkBuilder
构建迭代器来禁用此功能。
use ignore::WalkBuilder;
for result in WalkBuilder::new("./").hidden(false).build() {
println!("{:?}", result);
}
有关许多其他选项,请参阅WalkBuilder
的文档。
依赖关系
~4–13MB
~147K SLoC