#path #absolute #canonical

ironpath

一个用于处理文件系统路径的坚固的 Crate

2 个版本

0.1.1 2019 年 4 月 27 日
0.1.0 2019 年 4 月 6 日

#1040 in 文件系统

MIT/Apache

64KB
955

清理后的跨平台路径处理

大多数操作系统接受用于指定文件系统路径的复杂语法,包括对“当前目录”和“父目录”等特殊符号的表示,这使得路径处理代码变得复杂。如果文件系统路径总是描述从根目录到指定文件或目录的直线路径,路径处理代码将会更简单。

此模块包含表示这种路径的类型。

示例

let install_structure = vec![
    Relative::new("bin")?,
    Relative::new("lib")?,
    Relative::new("share/applications")?,
    Relative::new("share/icons")?,
    Relative::new("share/man")?,
];

let raw_install_path = std::env::args_os().next().ok_or("missing arg")?;
let install_path = Absolute::new(raw_install_path)?;

for each in install_structure.iter() {
    std::fs::create_dir_all(install_path.join_relative(each))?;
}

依赖项

~87KB