本文简要介绍rust语言中 Function std::fs::canonicalize
的用法。
用法
pub fn canonicalize<P: AsRef<Path>>(path: P) -> Result<PathBuf>
返回路径的规范、绝对形式,其中所有中间组件均已标准化并已解析符号链接。
特定于平台的行为
该函数当前对应于 Unix 上的 realpath
函数以及 Windows 上的 CreateFile
和 GetFinalPathNameByHandle
函数。请注意,这个may change in the future。
在 Windows 上,这会将路径转换为使用 extended length path 语法,这允许您的程序使用更长的路径名,但这意味着您只能将 backslash-delimited 路径连接到它,并且它可能与其他应用程序不兼容(如果传递给命令行上的应用程序,或写入另一个应用程序可以读取的文件)。
错误
此函数会在以下情况下返回错误,但不仅限于这些情况:
path
不存在。- 路径中的非最终组件不是目录。
例子
use std::fs;
fn main() -> std::io::Result<()> {
let path = fs::canonicalize("../a/../foo.txt")?;
Ok(())
}
相关用法
- Rust catch_unwind用法及代码示例
- Rust char.is_control用法及代码示例
- Rust char.is_alphanumeric用法及代码示例
- Rust char.len_utf16用法及代码示例
- Rust char.is_digit用法及代码示例
- Rust char.is_ascii_graphic用法及代码示例
- Rust concat用法及代码示例
- Rust char.decode_utf16用法及代码示例
- Rust char.is_uppercase用法及代码示例
- Rust char.to_ascii_lowercase用法及代码示例
- Rust char.is_ascii_uppercase用法及代码示例
- Rust create_dir用法及代码示例
- Rust ctlz用法及代码示例
- Rust channel用法及代码示例
- Rust char.escape_unicode用法及代码示例
- Rust copy_nonoverlapping用法及代码示例
- Rust char.is_alphabetic用法及代码示例
- Rust char.is_ascii_control用法及代码示例
- Rust char.from_u32_unchecked用法及代码示例
- Rust char.is_ascii_alphabetic用法及代码示例
- Rust cttz_nonzero用法及代码示例
- Rust char.eq_ignore_ascii_case用法及代码示例
- Rust current用法及代码示例
- Rust char.is_ascii用法及代码示例
- Rust char.make_ascii_lowercase用法及代码示例
注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 Function std::fs::canonicalize。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。