os.makedirs
是 Python 的一个函数,属于 os
模块,用于递归创建目录。如果创建的目录的父目录不存在,os.makedirs
会自动创建这些父目录,类似于 Unix 和 Linux 命令行中的 mkdir -p
命令。这个函数对于需要创建多层嵌套的目录结构时特别有用。
函数语法
os.makedirs(name, mode=0o777, exist_ok=False)
name
: 要创建的目录的路径。mode
: 设置目录的模式(权限),默认是0o777
(八进制),表示创建的目录对所有用户开放所有权限(在遵守底层文件系统权限的前提下)。exist_ok
: 如果为False
(默认值),当目标目录已存在时,会抛出一个FileExistsError
异常。如果设置为True
,则目标目录已存在时不会抛出异常,可以认为是“如果不存在则创建”。
使用示例
import os
# 创建一个新目录,包括任何必需的中间目录
os.makedirs('/path/to/directory', exist_ok=True)
在这个例子中,/path/to/directory
是你想要创建的目录路径。如果路径中的任何父目录不存在,os.makedirs
也会创建它们。通过设置 exist_ok=True
,如果目录已经存在,不会抛出异常,这使得使用更加灵活。
注意事项
- 使用
os.makedirs
时应确保路径是正确的,避免无意中创建了错误的目录结构。 - 在多用户环境中,考虑到权限问题,应谨慎设置
mode
参数。 - 当
exist_ok
设置为False
且目录已存在时,会抛出FileExistsError
,这可以用于避免覆盖已有的目录结构,但也可能需要在代码中处理这种异常情况。