I am trying to create a bunch of directories and sub directories at a specific location in my PC. My process is something like this:
- Check if there's any directory with the same directory name. Skip if so.
 - If not, create the directory and the pre-defined sub directories under that directory.
 
This is the code I came up with using os module:
def Test():
    main_dir = ["FolderA", "FolderB"] 
    common_dir = ["SubFolder1", "SubFolder2", "SubFolder3"]
    for dir1 in main_dir:
        if not os.path.isdir(dir1):
            for dir2 in common_dir:
                os.makedirs("%s/%s" %(dir1,dir2))
I am wondering if there's any better way to do this very same task (probably shorter, more efficient and more pythonic)?
                        
Python follows the philosophy
So rather than checking
isdir, you would simply catch the exception thrown if the leaf directory already exists:You can also replace string interpolation
"%s/%s" %(dir1,dir2)withos.path.join(dir1, dir2)Another more succinct way is to do the cartesian product instead of using two nested for-loops: