Я создал скрипт Python для создания новых папок в каталогах пользователей. Это работает хорошо, однако, если программу запустить снова, то она по какой-то причине сделает пустые папки в корневом каталоге. В качестве примера
Рут - Дэйв
Джим
Боб
После запуска программы один раз
- Дэйв
---- Наука
---- Английский
---- Математика
- Джим
---- Наука
---- Английский
---- Математика
- Боб
---- Наука
---- Английский
---- Математика
После повторного запуска программы (на случай добавления нового пользователя) это происходит
Наука
Английский
Математика
Дэйв
---- Наука
---- Английский
---- Математика
- Джим
---- Наука
---- Английский
---- Математика
- Боб
---- Наука
---- Английский
---- Математика
Если программу запустить потом еще раз, то работает.
Любая помощь будет оценена по достоинству.
Ta
Код здесь:
import os
currentPath = os.getcwd()
folders = ["English","Science","Maths"]
directory_list = list()
for root, dirs, files in os.walk(currentPath, topdown=False):
for name in dirs:
directory_list.append(os.path.join(root, name))
path = currentPath+"\\"+name
for i in range(len(folders)):
try:
os.makedirs(path+"/"+folders[i])
except OSError:
print ("Creation of the directory %s failed" % path)
else:
print ("Successfully created the directory %s " % path)
os.walk
, чтобы найти пользовательские каталоги: они все вместе находятся в одной папке. Сделайте прямой список, и вы избежите всех проблем с нисходящим в существующих папках (а не только в тех, которые вы создали ранее). - person alexis   schedule 11.10.2018