std.path
tier: alloc · since: std-0.2 stability: experimental
路径纯函数(join/dir/base/ext/is_abs/normalize;Unix / 口径)
口径:字节级;不触碰文件系统;normalize 越根 .. 丢弃;空路径 = "."
pub fn
| Signature | Returns | Description |
|---|---|---|
path_join(a: Str, b: Str) |
Str |
拼接:a 空返回 b;b 绝对路径(以 / 开头)整体返回(最高优先);b 空返回 a; a 以 / 结尾直接接 b;否则 a + "/" + b(os.path.join 口径:abs-b 赢,无需归一) |
path_dir(p: Str) |
Str |
目录部分:带尾斜杠 = 末段是目录,返回去尾结果("a/b/"→"a/b"); 否则取最后一段之前("a/b"→"a";"/a"→"/";"a"→".") |
path_base(p: Str) |
Str |
文件名部分:最后一段;"a/b/"→"b";"/"→"" |
path_ext(p: Str) |
Str |
扩展名(含点):"a.tar.gz"→".gz";隐藏文件/无点 → "" |
path_is_abs(p: Str) |
Bool |
是否绝对路径(以 / 开头) |
path_normalize(p: Str) |
Str |
规范化:消 . 段与 .. 段(越根 .. 一律丢弃,相对路径同);空返回 "."O(n²):弹出时重建段表(append-only List 无法按计数截断,勿改回"计数弹出") |