rust - 从 cli 应用程序中的应用程序目录读取文件

标签 rust

我有文本文件模板,需要阅读、修改,然后保存到我的 cli 应用程序中的用户目录。问题是我不知道如何从我的 Rust 应用程序目录中读取这些模板文件。

文件结构

- src
  - templates
    - foo.txt
    - bar.txt
  - main.rs

所以在我的main.rs中,我想从templates目录中读取foo.txt的内容,修改内容作为字符串,然后将其写入用户运行 cli 应用程序的目录。

我尝试使用以下方法读取文件:

std::fs::read_to_string("./templates/foo.txt").unwrap();

但由于它与用户运行 cli 应用程序的位置相关,因此它不存在。

我读过 std::env::current_exe但它有一些警告,看起来可能不一致,所以我不确定这是否是最好的方法。

最佳答案

你要找的是 std::env::current_dir: Docs.rs这将返回当前工作目录的 PathBuf

关于rust - 从 cli 应用程序中的应用程序目录读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65970180/

相关文章:

rust - Crate 和 Package 之间的确切区别是什么?

rust - 在一个函数调用中无法两次借用自己

rust - 将Rust&str转换为&'static&str

rust - 为什么闭包返回类型定义必须包含'_生命周期?

rust - 如何检测是否为声明性宏提供了可选关键字?

rust - 为什么结构解构后会出现 drop call?

generics - 在 Rust 中实现 len() 函数的类型的通用较长函数

struct - '&self' 和 '&' a self' 有什么区别?

rust - 如何在范围内包含最终值?

rust - 如何获得两个整数的底商?