对 Rust 非常陌生,正在寻找有关项目目录之外的 rust 文件路径的说明。我希望从桌面读取 .txt 文件大致如下所示:
fs::read_to_string("./Desktop/test.txt");
Run Code Online (Sandbox Code Playgroud)
然而,这似乎不起作用。这是列出的文件路径的问题还是 Rust 只允许访问项目目录中的文件?如果这是默认情况,如何允许访问系统中当前工作目录之外的其他位置的文件?假设该项目位于文档中,我们想要访问桌面上的一些文本文件。
找到答案了,看来我正在寻找的路径是这样的:
fs::read_to_string("/Desktop/test.txt");
Run Code Online (Sandbox Code Playgroud)
好像是“。” 正在当前目录中查找。
当您打开以 开头的路径时./,它是相对于当前工作目录的。
假设程序本身不更改工作目录,则该目录将是用户启动可执行文件时所在的目录。
请注意,它不一定是项目目录:当您开发程序时,您可能会通过以下方式运行它cargo run,但是当它准备好时,您很可能会将目标可执行文件复制到路径中的目录中。工作目录可以与放置可执行文件的目录完全不同。
您的程序可以通过调用找到当前工作目录std::env::current_dir
如果你想要一个不依赖于工作目录的路径,你可以使用绝对路径,即。从...开始/。
在这方面,Rust 与任何其他编程语言没有什么不同。特别是,不会打开项目目录中的文件。
| 归档时间: |
|
| 查看次数: |
3742 次 |
| 最近记录: |