I am trying to create new folders using dictionary keys. The code is:
os.mkdir("Y:\\Bleeding-study\\MIMIC\\Notes\\randombins\\")
for key in index:
os.mkdir("Y:\\Bleeding-study\\MIMIC\\Notes\\randombins\\batch_%s\\"%str(key))
os.mkdir("Y:\\Bleeding-study\\MIMIC\\Notes\\randombins\\batch_%s\\%s\\"%(str(key),"config"))
os.mkdir("Y:\\Bleeding-study\\MIMIC\\Notes\\randombins\\batch_%s\\corpus\\"%str(key))
The error is:
WindowsError: [Error 3] The system cannot find the path specified: 'Y:\\Bleeding-study\\MIMIC\\Notes\\randombins\\batch_0\\'
I thought this code would create that file pathname, so why is it giving this error?
Best Answer
Your error is because you are trying to create multiple levels of directory in one step.
os.mkdir()
will only create a single level of directory, so this line fails:os.mkdir("Y:\\Bleeding-study\\MIMIC\\Notes\\randombins\\batch_%s\\"%str(key))
because you have not yet created the
batch_0
directory.os.makedirs()
is what you need here:...and in fact if you use this, then you can do away with the initial
os.mkdir()
, as it will be redundant.