os的makedirs和mkdir有什么区别?
- 2024-11-12 08:36:00
- admin 原创
- 160
问题描述:
我对使用这两种os
方法来创建新目录感到困惑。
请给我一些 Python 中的例子。
解决方案 1:
makedirs()
如果不存在,则创建所有中间目录mkdir -p
(就像在 bash 中一样)。
mkdir()
可以创建单个子目录,如果指定不存在的中间目录,将会引发异常。
两者都可以用来创建单个“叶”目录 (dirA):
os.mkdir('dirA')
os.makedirs('dirA')
但必须使用 makedirs 来创建“分支”:
os.makedirs('dirA/dirB')
将会起作用[整个结构已创建]
mkdir
如果 已经存在则可以在这里工作dirA
,但如果不存在则会引发错误。
请注意,与 bash 不同mkdir -p
,如果叶子已经存在,则两者都将失败。
解决方案 2:
(无法评论,仅补充NPE的答案。)
在 Python3 中,os.makedirs
有一个默认参数exist_ok=False
。
如果将其设置为True
,则如果叶子存在,则不会os.makedirs
抛出任何异常。
(而没有此参数。) os.mkdir
就像这样:
os.makedirs('dirA', exist_ok=True)
PS
您可以?
在 IPython shell 中的方法名称前键入以快速查看文档。
例如:
>>> import os
>>> ? os.makedirs
解决方案 3:
makedirs:递归目录创建函数。与 mkdir() 类似,但会创建包含叶目录所需的所有中间级目录。如果叶目录已存在或无法创建,则会引发错误异常。
相关推荐
热门文章
项目管理软件有哪些?
热门标签
云禅道AD