我try 了以下方法,但并不觉得特别漂亮:

let path = "target/dir";
if !std::path::Path::new(&path).exists() {
    std::fs::create_dir(path)?;
}

推荐答案

std::fs::create_dir_all:

递归地创建一个目录及其所有缺少的父组件.

例子

use std::fs;

fs::create_dir_all("/some/dir")?;

Rust相关问答推荐

什么是谓词的简短和简洁类型

程序退出后只写入指定管道的数据

如何从polars DataFrame中获取一个列作为Option String?<>

如何在Rust中实现Functor trait?

为什么`Vec i64`的和不知道是`Option i64`?

这是不是在不造成嵌套的情况下从枚举中取出想要的变体的惯用方法?

如何用Axum/Tower压缩Html内容?

铁 rust 中的泛型:不能将`<;T作为添加>;::Output`除以`{Float}`

将serde_json读入`VEC<;T&>;`( rust 色)时出现问题

在macro_rule中拆分模块和函数名

在Rust中克隆源自INTO_ITER()的迭代器的成本?

为什么RefCell没有与常规引用相同的作用域?

类型生命周期绑定的目的是什么?

确保参数是编译时定义的字符串文字

如何限制 GtkColumnView 行数

在 Rust 中忽略 None 值的正确样式

如何将 C++ 程序链接到 Rust 程序,然后将该 Rust 程序链接回 C++ 程序? (cpp -> rust -> cpp)

使用在功能标志后面导入的类型,即使未启用功能标志

为什么我可以同时传递可变和不可变引用?

覆盖类型的要求到底是什么?为什么单个元素元组满足它?