Python os.makedirs() 方法



Python 的 os.makedirs() 方法是一个递归目录创建函数。它的工作原理类似于 mkdir(),但会创建包含叶子目录所需的所有中间级目录。

在 Python 3.2 版本发布时,引入了一个名为 exist_ok 的新参数。此参数的默认值为“False”。如果目标目录已存在,它将引发 FileExistsError 错误。

语法

以下是 Python os.makedirs() 方法的语法:

os.makedirs(path, mode=0o777, exist_ok=False)

参数

Python os.makedirs() 方法接受以下参数:

  • path − 此参数指定需要递归创建的路径。

  • mode − 这是一个可选参数,表示给定目录的模式。

  • exist_ok − 这是一个可选参数,由布尔值表示。如果指定目录已存在且值为 False,则出现时会抛出 FileExists 错误。

返回值

Python os.makedirs() 方法不返回值。

示例

以下示例演示了 makedirs() 方法的使用。在这里,我们使用模式“0o777”创建多个嵌套目录。这意味着创建的目录对每种用户类型都可读、可写和可执行。

import os, sys

# Path to be created
path = "/home/tp/Python/tmp/new/monthly/daily"

os.makedirs( path, 0o755 );
print ("Path is created")

当我们运行上述程序时,它将创建多个相互嵌套的目录,并打印以下结果:

Path is created

示例

如果指定的目录已存在,makedirs() 方法将引发“FileExists”错误。以下示例说明了这一点。

import os, sys

# Path to be created
path = "/home/tp/Python/tmp/new/monthly/daily"

try:
   os.makedirs(path)
   print ("Path created successfully")
except FileExistsError as err:
   print(f"Error: {err}")
except OSError as err:
   print(f"Error: {err}")

当我们运行上述程序时,它会产生以下结果:

Error: [Errno 17] File exists: '/home/tp/Python/tmp/new/monthly/daily'
python_files_io.htm
广告