Rust: 获取当前项目的根目录的绝对路径

需求

我们想要读取某个文件,但是由于项目路径过于复杂,还是直接从根目录开始写出该文件的路径比较合适。
但是我该如何表示项目的根目录呢?

解决办法

在这儿,给大家介绍一个很实用的库—project_root

project root

一个获取项目根目录的绝对路径的简单实用程序。
它会直接定位到当前项目最外层的 Xargo.toml的相同文件夹下面。

举个例子

  • 例子一
match project_root::get_project_root() {
    
    
    Ok(p) => println!("Current project root is {:?}", p),
    Err(e) => println!("Error obtaining project root {:?}", e)
};
  • 例子二
    项目文件目录结构
    ----src
    --------xx1
    ------------xx2
    ----------------xx.json
    ----Cargo.toml
    ----Xargo.toml
let mut p = project_root::get_project_root().unwrap();
p.push("src/xx1/xx2/xx.json");

想要学习更多rust相关知识,或者有rust问题想要交流,未来会定时在下方的公众号中分享更多实用的rust公共库~

欢迎关注我的公众号夏虫不可语冰也
同时也欢迎访问我的个人网站 https://www.cjl946.com
PS:在浏览器中直接输入网址即可
夏虫不可语冰也

猜你喜欢

转载自blog.csdn.net/weixin_43616215/article/details/125682506