Python 3 os.rename переименует файлы, но не папки - PullRequest
0 голосов
/ 19 сентября 2019

Я пытаюсь переименовать все файлы и папки в каталоге, чтобы заменить '#' на '_'.Для этого я написал быструю функцию Python 3.7, которая успешно переименовала все файлы, но не смогла переименовать ни одну папку.Я не получаю никаких ошибок при запуске этого кода.

import os

def replace(folder_path, old, new):
    for path, subdirs, files in os.walk(folder_path):
        for name in files:
            if(old in name):
                file_path = os.path.join(path,name)
                print(file_path)
                new_path = os.path.join(path,name.replace(old,new))
                print(new_path)
                os.rename(file_path, new_path)


old = '#'
new = '_'
path = 'Y:\my_path_goes_here'

replace (path, old, new)

Заранее спасибо за помощь.

1 Ответ

0 голосов
/ 19 сентября 2019

Вы повторяете только над файлами, subdirs содержит список папок.Дополнительная информация: https://docs.python.org/3/library/os.html#os.walk

...