Python中os.mkdir() 和 os.makedirs()有什么不同
在Python中,我们通过程序生成的文件为了方便查看,通常要放在指定的目录里,如果运行程序时目录不存在怎么办,为了避免这个问题,我们就要在目录路径不存在时就建立一个路径,这时就要用到os模块了。
其中os.mkdir() 和 os.makedirs() 都是os中常用的方法,可以用来创建目录,但它们在处理嵌套目录时有所不同:
1. os.mkdir()详解
仅用于创建指定路径中的单个目录,不能处理中间不存在的目录,否则会报错
如果指定的路径中有不存在的上级目录,则会抛出 OSError 错误。
示例:
import os
os.mkdir("folder") # 创建一个名为 "folder" 的目录
os.mkdir("parent/folder") # 如果 "parent" 目录不存在,会抛出错误
2. os.makedirs() 详解
用于创建指定路径中的所有目录,包括必要的中间目录。
如果 exist_ok=True,则在目录已存在时不会抛出错误;如果是 False,则目录已存在时会抛出错误。
当然我们也可以用它来创建单个目录,不管路径存在不在都不会报错。
os.makedirs("text",exist_ok=True)
示例:
import os
os.makedirs("parent/folder") # 会创建 "parent" 和 "folder" 两个目录
os.makedirs("parent/folder", exist_ok=True) # 如果目录已存在,不会有任何操作
3. 学后总结
当只需创建一个单一目录时,使用 os.mkdir()。
当需要创建嵌套目录或确保所有上级目录都存在时,使用 os.makedirs()。
为了减少程序报错建议使用os.makedirs(),代码量少,而且也减少了报错,更加pythonic。