Эссе - Рекурсивное пакетное переименование файлов Python

Python

Эссе - Рекурсивное пакетное переименование файлов Python

Замените ключ в имени файла соответствующим значением, повторив указанный путь в соответствии с парой ключ-значение в словаре.

import os
def test(path, dict):
    """ 
    递归把指定的path按照dict中的键值对,将文件名中的键用对应的值替换。
    """
    if os.path.isdir(path):
        for child in os.listdir(path):
            for k, v in dict.items():
                if child.find(k) > 0:
                    old = path + child
                    child = child.replace(k, v)
                    new = path + child
                    print(old, new)
                    os.renames(old, new)
            if os.path.isdir(path + child):
                child_path = path + child + '/'
                test(child_path, dict)


if __name__ == "__main__":
    path = './test_dataset/'
    ch_to_en_dict = {
        '红': 'red',
        '橙': 'orange',
        '黄': 'yellow',
        '绿': 'green',
        '青': 'cyan',
        '蓝': 'blue',
        '紫': 'purple'
    }
    test(path, ch_to_en_dict)

Для глубокой иерархии каталогов рекомендуется использовать рекурсивный метод для пакетного дублирования команд!