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

为何pathlib.Path.mkdir()创建嵌套目录时触发FileNotFoundError?如何解决?

原因分析

Path.mkdir() 的默认行为是仅创建路径的最后一级目录,它的parents参数默认值为False。当路径中的父目录(比如示例中的data/output)不存在时,该方法不会自动创建这些缺失的父层级,因此触发FileNotFoundError。

推荐解决方法

调用mkdir()时传入parents=True参数,即可自动创建所有缺失的父目录。如果需要避免目录已存在时抛出异常,可以额外添加exist_ok=True参数。

修正后的代码示例

from pathlib import Path

path = Path('data/output/reports')
# 自动创建所有缺失的父目录
path.mkdir(parents=True)

# 若需忽略已存在的目录(避免FileExistsError),使用以下写法
# path.mkdir(parents=True, exist_ok=True)

参数说明

  • parents=True:开启递归创建模式,确保路径中所有不存在的父目录都会被创建。
  • exist_ok=True(可选):当目标目录已存在时,不会抛出异常,适用于无需预先判断目录状态的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.11 06:12:01