rust - 如何访问当前平台的文件路径分隔符?

标签 rust filesystems separator os-agnostic

在 Rust 中是否有任何可用的选项来获取特定于平台的文件分隔符?

可以有不同的平台特定分隔符:

let separator = "\\" // Could be this.
let separator2 = "/" // Could be this.
let separator3 = "//" // Could be this.

我看起来像下面这样:

let env_independent_seperator = env::separator()

那么它的用法可能如下:

let folder = "C\\Folder\\Path";
let env_independent_separator = env::separator() // Looking something like this
let file_name = "File.txt";
let full_path = folder+ env_independent_separator + file_name;

Rust 中有 File::separator() 吗?

最佳答案

对于这个问题,应该使用 PathbufPath 而不是使用带有分隔符的自定义操作。

如果是平台特定的分隔符,应该使用 std::path::MAIN_SEPARATOR .

更新: 从 Rust 版本 1.68 开始 还有std::path::MAIN_SEPARATOR_STR , 其分隔符为 const &str

关于rust - 如何访问当前平台的文件路径分隔符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54128836/

相关文章:

string - 获取字符串作为格式化输出中的值

filesystems - 我可以在没有网络服务器的情况下运行 Jekyll 网站吗?

php - 模型属性的翻译

.net - WIX 相对路径最终变得太长

string - 为什么 String::find 不是 &str 上的方法?

iterator - 如何遍历向后范围?

database - diesel需要安装mysql和sqlite吗?

r - 同一文件输入的多个分隔符 R

ios - Swift - 调整 UITableViewCell 分隔符的大小

css - 此 div 高度始终小于父 div