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.:
makedirs()
creates all the intermediate directories if they don't exist (just likemkdir -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 ifdirA
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 parameterexist_ok=False
.If you set it to
True
, thenos.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.: