Эссе - Рекурсивное пакетное переименование файлов 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)
Для глубокой иерархии каталогов рекомендуется использовать рекурсивный метод для пакетного дублирования команд!