os.makedirs
和 os.mkdir
都是用于创建目录的函数,但它们之间有一些重要的区别。
- 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}'")
- 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
。
请根据你的需求选择合适的函数来创建目录。
标签:创建,makedirs,mkdir,path,os,目录 From: https://blog.51cto.com/u_16055028/7420827