Python实现递归创建多级文件夹的例子

作者:袖梨 2022-11-14

在python中用os.mkdir创建目录,os.makedirs(path) 多层创建目录了,下面我们一起来看看它们在应用中的一个用法例子吧。

mkdir为Linux操作系统中的创建目录命令,使用mkdir -p指令可以自动创建目标目录路径中尚不存在的上级目录(Windows操作系统也有同名的指令,用法稍有差别)。

主要涉及到三个函数

1、os.path.exists(path) 判断一个目录是否存在
2、os.makedirs(path) 多层创建目录
3、os.mkdir(path) 创建目录

例子

代码如下 复制代码

def mkdir(path):
# 引入模块
import os

# 去除首位空格
path=path.strip()
# 去除尾部 符号
path=path.rstrip("")

# 判断路径是否存在
# 存在 True
# 不存在 False
isExists=os.path.exists(path)

# 判断结果
if not isExists:
# 如果不存在则创建目录
print path+' 创建成功'
# 创建目录操作函数
os.makedirs(path)
return True
else:
# 如果目录存在则不创建,并提示目录已存在
print path+' 目录已存在'
return False

# 定义要创建的目录
mkpath="d:qttcweb"
# 调用函数
mkdir(mkpath)

以上是我写好的一个函数,只需要传入你要创建目录的全路径即可。
说明
在以上DEMO的函数里,我并没有使用os.mkdir(path)函数,而是使用了多层创建目录函数os.makedirs(path)。这两个函数之间最大的区别是当父目录不存在的时候os.mkdir(path)不会创建,os.makedirs(path)则会创建父目录。
比如:例子中我要创建的目录web位于D盘的qttc目录下,然而我D盘下没有qttc父目录,如果使用os.mkdir(path)函数就会提示我目标路径不存在,但使用os.makedirs(path)会自动帮我创建父目录qttc,请在qttc目录下创建子目录web。

Java的创建目录有mkdir和mkdirs两个方法,其中:

对于Python 2.X(X > 2.5)版本,使用Python模拟实现Linux下的mkdir -p指令功能的代码如下:

代码如下 复制代码

import os, errno

def mkdir_p(path):
try:
os.makedirs(path)
except OSError as exc: # Python >2.5 (except OSError, exc: for Python <2.5)
if exc.errno == errno.EEXIST and os.path.isdir(path):
pass
else: raise

而对于Python 3.X(X >= 2)版本,os.makedirs 函数还有第三个参数 exist_ok,该参数为真时执行mkdir
-p,但如果给出了mode参数,目标目录已经存在并且与即将创建的目录权限不一致时,会抛出OSError异常。

相关文章

精彩推荐