You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Rust实现mkdir -p功能?标准库是否有简便方案?

Rust 中实现 mkdir -p 等价功能的方法

Rust 标准库提供了直接对应 mkdir -p 功能的函数——std::fs::create_dir_all,完全满足你提到的两个核心需求:

  • 递归创建所有缺失的父目录
  • 目标目录已存在时不会报错,直接返回成功

基础用法示例

use std::fs;
use std::path::Path;

fn main() -> std::io::Result<()> {
    // 替换为你需要创建的目录路径
    let target_dir = Path::new("./foo/bar/baz");
    // 执行递归创建,等价于 `mkdir -p ./foo/bar/baz`
    fs::create_dir_all(target_dir)?;
    Ok(())
}

函数特性说明

  • 当目标目录的所有父目录都已存在时,仅会检查目标目录是否存在:若存在则直接返回 Ok(()),不存在则创建该目录
  • 若部分父目录缺失,会按层级依次创建所有需要的父目录,最终创建目标目录
  • 函数返回 std::io::Result<()>,可以通过 ? 操作符或模式匹配处理可能的IO错误(比如权限不足、路径无效等)

内容的提问来源于stack exchange,提问作者Stratus3D

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 21:14:54