I have multiple subfolders that need to be created however many levels deep, is there a better/cleaner way to do this than the below?
whenever we get to "l" only then should it creater the 5th level of folders "p" & "p"
import os
base_path = fr"C:\Some_Location"
level_1 = ["a", "b", "c"]
level_2 = ["d", "e", "f", "g", "h"]
level_3 = ["i", "j", "k", "l"]
level_4 = ["m", "n"]
level_5 = ["o", "p"]
for i in level_1:
for j in level_2:
for k in level_3:
for l in level_4:
if k == "l":
for m in level_5:
newpath = os.path.join(base_path,i,j,k,l,m)
if not os.path.exists(newpath):
os.makedirs(newpath)
else:
newpath = os.path.join(base_path,i,j,k,l)
if not os.path.exists(newpath):
os.makedirs(newpath)
exist_okitertools.product()to loop over all the combinations.exist_okas @cards points out.