os.mkdir
和os.makedirs
都是Python中用于创建目录的函数,但它们之间存在一些关键的区别¹²:
os.mkdir
:此函数用于创建单个子目录。如果指定了不存在的中间目录,它将抛出一个异常。os.makedirs
:此函数用于递归地创建目录。就像在bash中的mkdir -p
一样,如果中间目录不存在,os.makedirs
会创建所有必要的中间目录。如果叶目录已经存在或无法创建,它将抛出一个错误¹。
例如,假设我们有以下路径:/a/b/c/d
,其中只有/a/b
是存在的。
- 如果我们尝试使用
os.mkdir('/a/b/c/d')
,它将抛出一个异常,因为/a/b/c
不存在。 - 但是,如果我们使用
os.makedirs('/a/b/c/d')
,它将成功创建所有不存在的中间目录以及叶目录d
。
此外,从Python 3.2开始,os.makedirs
有一个exist_ok
参数。如果将其设置为True
,则即使叶目录已存在,os.makedirs
也不会抛出任何异常¹。
希望这个答案对你有所帮助!如果你还有其他问题,欢迎随时向我提问。
标签:makedirs,mkdir,between,difference,os,目录 From: https://blog.51cto.com/u_16055028/9328816