Я пишу программу, которая переименовывает файлы и каталоги, вынимая определенный шаблон. Моя функция переименования хорошо работает для файлов, так как os.walk() предназначена для всех файлов, но не столько с каталогамиPython - рекурсивный каталог с помощью os.walk()
for root, dirs, files in os.walk(path): # Listing the files
for i, foldername in enumerate(dirs):
output = foldername.replace(pattern, "") # Taking out pattern
if output != foldername:
os.rename( # Renaming
os.path.join(path, foldername),
os.path.join(path, output))
else:
pass
Может кто-то предложить решение охватить все каталоги, а не только те, первый уровня?
set 'topdown = False', чтобы посетить верхние каталоги верхнего уровня. – jfs
Также правильный путь должен использовать 'root':' os.path.join (root, foldername) ' – jfs
Путь! Оба комментария прямо на месте. Сделайте это ответом, чтобы я мог пометить его! – baldurmen