我很难使用这两个os
方法来创建新目录。
请给我一些Python的例子。
答案 0 :(得分:71)
makedirs()
creates all the intermediate directories如果它们不存在(就像bash中的mkdir -p
一样)。
mkdir()
可以创建单个子目录,如果指定了不存在的中间目录,则会抛出异常。
可以用来创建一个'leaf'目录(dirA):
os.mkdir('dirA')
os.makedirs('dirA')
但必须使用makedirs创建“分支”:
os.makedirs('dirA/dirB')
将[创建整个结构] mkdir
已经存在, dirA
可以在此工作,但如果不存在,则会抛出错误。
请注意,与bash中的mkdir -p
不同,如果叶子已经存在,则任何一个都将失败。
答案 1 :(得分:14)
(无法发表评论,只需添加到NPE的回答中。)
在Python3中,os.makedirs
有一个默认参数exist_ok=False
如果您将其设置为True
,那么os.makedirs
将不在叶子存在时抛出任何异常。
(虽然os.mkdir
没有此参数。)
就像这样:
os.makedirs('dirA', exist_ok=True)
P.S。
您可以在IPython shell中的方法名称前键入?
,以便快速查看文档
e.g:
>>> import os
>>> ? os.makedirs