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

如何用Python的os.mkdir()实现仅在目录不存在时创建目录?

Python实现类似mkdir -p的目录创建功能

在Python里要实现Shell中mkdir -p仅当目录不存在时创建(同时支持多级目录创建)的功能,有几种常用的实现方式:

方法1:使用os.makedirs(Python 3.2+推荐)

直接利用os.makedirs的exist_ok参数,这是最简洁的方式:

import os
os.makedirs("./my_directory/", exist_ok=True)

exist_ok=True的作用就相当于mkdir -p,目录已存在时不会抛出异常,不存在则创建(包括嵌套的父目录)。

方法2:兼容旧版Python(Python 2或3.2之前)

如果需要兼容更早的Python版本,可以通过捕获异常来实现:

import os
import errno

try:
    os.makedirs("./my_directory/")
except OSError as e:
    # 仅忽略目录已存在的异常,其他异常正常抛出
    if e.errno != errno.EEXIST:
        raise

方法3:使用pathlib(Python 3.4+,面向对象风格)

Python 3.4引入的pathlib模块提供了更优雅的面向对象操作方式:

from pathlib import Path
Path("./my_directory/").mkdir(parents=True, exist_ok=True)
  • parents=True:自动创建不存在的父目录(对应-p的多级目录功能)
  • exist_ok=True:允许目标目录已存在,不抛出异常

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 21:59:54