I am confused to use about these two os
methods to create the new directory.
Please give me some example in Python.
I am confused to use about these two os
methods to create the new directory.
Please give me some example in Python.
makedirs()
creates all the intermediate directories if they don't exist (just like mkdir -p
in bash).
mkdir()
can create a single sub-directory, and will throw an exception if intermediate directories that don't exist are specified.
Either can be used to create a single 'leaf' directory (dirA):
os.mkdir('dirA')
os.makedirs('dirA')
But makedirs must be used to create 'branches':
os.makedirs('dirA/dirB')
will work [the entire structure is created]mkdir
can work here if dirA
already exists, but if it doesn't an error will be thrown.
Note that unlike mkdir -p
in bash, either will fail if the leaf already exists.
(Can not comment, just add to NPE's answer.)
In Python3, os.makedirs
has a default parameter exist_ok=False
.
If you set it to True
, then os.makedirs
will not throw any exception if the leaf exists.
(While os.mkdir
doesn't have this parameter.)
Just like this:
os.makedirs('dirA', exist_ok=True)
P.S.
You can type ?
before the name of a method in IPython shell to take a quick look at the documentation.
e.g.:
>>> import os
>>> ? os.makedirs