os.mkdir('newfolder')
пытается создать newfolder
в текущем каталоге независимо от переменных цикла.
Сначала вам нужно объединиться с root & subdir, проверить, что он еще не существует (так что вы можетезапустите его более одного раза) и создайте, если необходимо:
full_path_to_folder = os.path.join(path,i,'newfolder')
if not os.path.exists(full_path_to_folder):
os.mkdir(full_path_to_folder)
после обсуждения в комментариях, кажется, что это работает, но будет повторяться бесполезно.path
содержит пути к каталогам при сканировании, поэтому нет необходимости во внутреннем цикле.Просто проигнорируйте последние 2 аргумента, которые walk
дает, и выполните:
for path, _, _ in os.walk(rootfolder):
full_path_to_folder = os.path.join(path,'newfolder')
if not os.path.exists(full_path_to_folder):
os.mkdir(full_path_to_folder)