Python中的os模块提供了大量的操作系统相关函数和方法,包括文件和目录的操作等。其中,os.makedirs()函数用来创建多级目录,它的作用是新建一个目录,并可以同时创建多层子目录。下面我们来详细讲解Python os.makedirs()函数的作用与使用方法。
1. os.makedirs()的作用
os.makedirs()函数是Python中用来新建多级目录的函数。它可以一次性创建多级目录,并且可以自动创建不存在的父级目录。如果目录已经存在,则不会创建,也不会抛出异常。
2. os.makedirs()的使用方法
os.makedirs()函数的基本语法如下所示:
os.makedirs(path, mode=0o777, exist_ok=False)
参数说明:
– path:要创建的目录路径,可以是绝对路径,也可以是相对路径。
– mode:设置权限,可通过八进制数表示,例如0755。
– exist_ok:如果存在,是否抛出异常,True表示不抛出,False表示抛出,默认为False。
下面我们通过几个实例来进一步说明os.makedirs()函数的用法。
2.1 创建单级目录
我们可以使用os.makedirs()函数创建一个单级目录,示例如下:
import os
# 定义单级目录名称
dir_name = 'test_dir'
# 创建单级目录
os.makedirs(dir_name)
# 判断目录是否创建成功
if os.path.exists(dir_name):
print("目录创建成功!")
else:
print("目录创建失败!")
运行以上代码,我们可以看到输出的结果是“目录创建成功!”,表示test_dir目录创建成功。
2.2 创建多级目录
如果我们要创建多级目录,则只需在path参数中指定多层目录的路径即可,示例如下:
import os
# 定义多级目录名称
dir_name = 'test_dir1/test_dir2/test_dir3'
# 创建多级目录
os.makedirs(dir_name)
# 判断目录是否创建成功
if os.path.exists(dir_name):
print("目录创建成功!")
else:
print("目录创建失败!")
运行以上代码,我们可以看到输出的结果是“目录创建成功!”,表示test_dir1/test_dir2/test_dir3目录创建成功。
2.3 设置权限
我们可以使用mode参数设置创建目录的权限,其中权限可以通过八进制数来表示,例如0755表示所有者有读、写和执行权限,组用户和其他用户只有读和执行权限,示例如下:
import os
# 定义目录名称
dir_name = 'test_dir'
# 创建目录,并设置权限
os.makedirs(dir_name, mode=0o755)
# 判断目录是否创建成功
if os.path.exists(dir_name):
print("目录创建成功!")
else:
print("目录创建失败!")
运行以上代码,我们可以看到输出的结果是“目录创建成功!”,表示test_dir目录创建成功并设置了权限。
2.4 判断目录是否存在
我们可以使用os.path.exists()函数判断目录是否存在,示例如下:
import os
# 定义目录名称
dir_name = 'test_dir'
# 判断目录是否存在
if os.path.exists(dir_name):
print("目录已经存在!")
else:
print("目录不存在!")
运行以上代码,如果test_dir目录存在,则输出“目录已经存在!”,否则输出“目录不存在!”。
2.5 抑制异常
我们可以使用exist_ok参数抑制已经存在的异常抛出,示例如下:
import os
# 定义目录名称
dir_name = 'test_dir'
# 创建目录,抑制异常
os.makedirs(dir_name, exist_ok=True)
# 判断目录是否创建成功
if os.path.exists(dir_name):
print("目录创建成功!")
else:
print("目录创建失败!")
运行以上代码,如果test_dir目录不存在,则输出“目录创建成功!”,否则输出“目录创建失败!”。
总结
Python os.makedirs()函数用来创建多级目录,它可以一次性创建多级目录,并且可以自动创建不存在的父级目录,如果目录已经存在,则不会创建,也不会抛出异常。在使用os.makedirs()函数时,我们可以设置目录的权限,判断目录是否存在,抑制异常等。通过学习本篇文章,我们可以提高Python中操作目录的能力,并灵活运用os.makedirs()函数。