5个版本

0.1.4 2024年4月15日
0.1.3 2023年10月4日
0.1.2 2023年9月27日
0.1.1 2023年9月27日
0.1.0 2023年9月27日

#533 in 文件系统

每月38次下载

MIT/Apache

37KB
780 代码行

dir-structure

一个库,使将目录结构表示为纯Rust结构更加容易,并减少创建和操作它们时的样板代码。

快速示例

#[derive(dir_structure::DirStructure)]
struct Dir {
    #[dir_structure(path = "input.txt")]
    input: String,
    #[dir_structure(path = "output.txt")]
    output: String,
}

fn main() -> Result<(), Box<dyn std::error::Error>> {
    use dir_structure::DirStructureItem;
    let path = std::path::Path::new("my_dir");
    // to read a `Dir` instance
    let dir = Dir::read(path)?;
    // to write a `Dir` instance
    dir.write(path)?;
    
    // or simply with a struct literal
    Dir {
        input: "Hello, world!".to_string(),
        output: "Hello, world!".to_string(),
    }.write(path)?;
    
    Ok(())
}

这篇博客文章更深入地介绍了该库的更高级功能。

依赖项

~0.3–1MB
~22K SLoC