本文簡要介紹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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。