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

Python os.makedirs()无法创建目录最后一级文件夹问题咨询

解决os.makedirs()未创建最后一级目录或未生成文件的问题

问题原因分析

  • 执行os.makedirs(os.path.dirname("data/3/2/4"), exist_ok=True)时,os.path.dirname()的作用是提取路径的父目录,对data/3/2/4而言,它返回的是data/3/2,因此os.makedirs只会创建到这一级,不会生成4文件夹。
  • 传入文件路径data/3/2/4/things.txt时,os.path.dirname()返回data/3/2/4,os.makedirs会创建这个文件夹,但os.makedirs仅负责创建目录结构,不会自动生成文件。

简便解决办法

情况1:仅需创建目标文件夹data/3/2/4

直接将目标文件夹路径传给os.makedirs,无需嵌套os.path.dirname:

import os
os.makedirs("data/3/2/4", exist_ok=True)

exist_ok=True可避免文件夹已存在时抛出异常。

情况2:需要创建文件所在文件夹并生成文件

分两步操作:先创建文件的父目录,再用open()函数生成文件:

import os

file_path = "data/3/2/4/things.txt"
# 创建文件所在的所有上级目录
os.makedirs(os.path.dirname(file_path), exist_ok=True)
# 生成空文件(如需写入内容,可在with块内添加f.write()代码)
with open(file_path, 'w') as f:
    pass  # 示例:f.write("Hello World")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 19:39:49