4个版本 (1个稳定版本)

1.0.0 2023年10月22日
0.1.2 2023年8月5日
0.1.1 2023年8月5日
0.1.0 2023年8月5日

#5 in #textual

Download history 19/week @ 2024-03-11 5/week @ 2024-03-18 39/week @ 2024-04-01 85/week @ 2024-04-08 51/week @ 2024-04-15 79/week @ 2024-04-22 95/week @ 2024-04-29 58/week @ 2024-05-06 19/week @ 2024-05-13 24/week @ 2024-05-20 13/week @ 2024-05-27 18/week @ 2024-06-03 20/week @ 2024-06-10 14/week @ 2024-06-17 20/week @ 2024-06-24

每月73次 下载
用于 7 crates

ISC 许可证

24KB
353

文件路径

处理文本形式的文件路径,包括相对路径和解析。功能

  • 变体: FlexPath 方法根据路径的 FlexPathVariant 考虑绝对路径。支持两种变体:CommonWindows。可以通过带有 _native 后缀的方法直接推导出本地变体。

要求

  • Rust标准库 (std)。

示例

use file_paths::FlexPath;

assert_eq!("a", FlexPath::new_common("a/b").resolve("..").to_string());
assert_eq!("a", FlexPath::new_common("a/b/..").to_string());
assert_eq!("a/b/c/d/e", FlexPath::from_n_common(["a/b", "c/d", "e/f", ".."]).to_string());
assert_eq!("../../c/d", FlexPath::new_common("/a/b").relative("/c/d"))

lib.rs:

仅通过文本处理文件路径。

在Windows操作系统中,绝对路径可能以驱动器字母和冒号开头,或者以UNC路径前缀 (\\) 开头。因此,这个crate提供了一个基于变体 ([FlexPathVariant]) 的 FlexPath,您不需要总是指定它。这个变体指示是否解释Windows绝对路径。

目前有两个 FlexPathVariant 变体

  • 通用
  • Windows

常量 FlexPathVariant::NATIVE 是基于目标平台的这些变体之一。对于Windows操作系统,它始终是 Windows。对于其他平台,它始终是 通用

示例

use file_paths::FlexPath;

assert_eq!("a", FlexPath::new_common("a/b").resolve("..").to_string());
assert_eq!("a", FlexPath::new_common("a/b/..").to_string());
assert_eq!("a/b/c/d/e", FlexPath::from_n_common(["a/b", "c/d", "e/f", ".."]).to_string());
assert_eq!("../../c/d", FlexPath::new_common("/a/b").relative("/c/d"));

依赖项

~2.4–4MB
~71K SLoC