9 releases
0.4.1 | Mar 23, 2021 |
---|---|
0.4.0 | Jan 17, 2021 |
0.3.4 | Jan 12, 2021 |
0.3.2 | Nov 23, 2020 |
0.1.0 | Apr 1, 2020 |
#1380 in Filesystem
32 downloads per month
23KB
479 lines
fwalker🚶
A cargo crate for file and directory traversal in a file system through an iterator
Documentation
See docs.rs/fwalker for complete documentation and more advanced usage.
Usage
Add crate to Cargo.toml to use it
[dependencies]
fwalker = "0.3"
This crate has only one public struct, fwalker::Walker
. With this struct, files and directories
can be iterated over for any kind of listing, manipulation or processing. Creating a new walker can
be done with either
fwalker::Walker::new()
- starts from current directoryfwalker::Walker::from("/some/path")
- starts from path/some/path
Quick example to get you started
use fwalker::Walker;
use std::path::PathBuf;
fn main() {
Walker::from("/proc/sys")
.expect("This *should* work")
.take(10)
.for_each(|file: PathBuf| println!("{:?}", file));
}
which would yield the output
"/proc/sys/abi/vsyscall32"
"/proc/sys/debug/exception-trace"
"/proc/sys/debug/kprobes-optimization"
"/proc/sys/fs/aio-max-nr"
"/proc/sys/fs/aio-nr"
"/proc/sys/fs/dentry-state"
"/proc/sys/fs/dir-notify-enable"
"/proc/sys/fs/file-max"
"/proc/sys/fs/file-nr"
"/proc/sys/fs/inode-nr"
Dependencies
~0.8–1.2MB
~23K SLoC