Python os.makedirs() 方法详解

  • Post category:Python

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()函数。