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

WSL环境下调用Python的os.mkdir报No such file or directory错误如何解决?

问题解决:跨平台创建多级目录(Windows/WSL兼容)

你遇到的错误本质不是WSL或Windows平台的问题,而是os.mkdir()只能创建单级目录。当你尝试创建New/2023时,如果上层的New目录不存在,就会触发FileNotFoundError——这在Windows和Linux系统中都是一致的行为。

以下是两种跨平台兼容的解决方案:

方案1:使用os.makedirs()递归创建多级目录

os.makedirs()支持一次性创建所有不存在的父目录,搭配exist_ok=True参数可避免目录已存在时的报错,完美适配跨平台场景:

import os
path = os.path.join("New", "2023")
os.makedirs(path, exist_ok=True)
  • exist_ok=True:Python 3.2+ 支持,若目标目录已存在不会抛出异常,适合需要重复执行的场景。

方案2:使用pathlib.Path.mkdir()(推荐,更现代的写法)

Python 3.4+ 引入的pathlib模块提供了面向对象的文件系统操作,语法更直观,且自动适配平台路径分隔符:

from pathlib import Path
path = Path("New") / "2023"  # 自动识别Windows的\和Linux的/,等价于os.path.join
path.mkdir(parents=True, exist_ok=True)
  • parents=True:递归创建所有缺失的父目录;
  • exist_ok=True:目录已存在时不触发异常;
  • 路径拼接用/运算符,无需手动处理平台差异,代码更简洁。

以上两种写法在Windows原生Python环境、WSL的Linux Python环境中都能正常运行,完全满足跨平台需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 19:38:10