如何用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
相关产品推荐
相关产品推荐

