当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Rust canonicalize用法及代码示例


本文简要介绍rust语言中 Function std::fs::canonicalize 的用法。

用法

pub fn canonicalize<P: AsRef<Path>>(path: P) -> Result<PathBuf>

返回路径的规范、绝对形式,其中所有中间组件均已标准化并已解析符号链接。

特定于平台的行为

该函数当前对应于 Unix 上的 realpath 函数以及 Windows 上的 CreateFileGetFinalPathNameByHandle 函数。请注意,这个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-lang.org大神的英文原创作品 Function std::fs::canonicalize。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。