os.makedirsos.mkdir 都是用于创建目录的函数,但它们之间有一些重要的区别。

  1. os.mkdir
  • os.mkdir 用于创建单个目录,它不会创建多层目录结构,只会创建最底层的目录。
  • 如果指定的目录路径中的上层目录不存在,那么 os.mkdir 会引发一个 FileNotFoundError 错误。

示例代码:

import os

path = './test/sub_test'

try:
    os.mkdir(path)
    print(f"目录 '{path}' 创建成功")
except FileExistsError:
    print(f"目录 '{path}' 已经存在")
except FileNotFoundError:
    print(f"上层目录不存在,无法创建 '{path}'")
  1. os.makedirs
  • os.makedirs 用于递归创建多层目录结构,如果指定的目录路径中的上层目录不存在,它会自动创建这些上层目录。
  • 可以使用 exist_ok=True 参数来指定如果目录已经存在是否报错,如果设置为 True,目录已经存在时不会引发错误。

示例代码:

import os

path = './test/sub_test'

try:
    os.makedirs(path)
    print(f"目录 '{path}' 创建成功")
except FileExistsError:
    print(f"目录 '{path}' 已经存在")
except FileNotFoundError:
    print(f"上层目录不存在,无法创建 '{path}'")

总结:

  • 如果你需要创建多层目录结构或者不确定上层目录是否存在,应该使用 os.makedirs
  • 如果你只需要创建单个目录且确定上层目录已经存在,可以使用 os.mkdir

请根据你的需求选择合适的函数来创建目录。