阅读 204

随笔-Python递归批量重命名文件

随笔-Python递归批量重命名文件

通过递归把指定的path按照dict中的键值对,将文件名中的键用对应的值替换。

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)
复制代码

对于一个目录层级比较深的来说,采用递归的方式来批量重名令是个好办法!

文章分类
人工智能
文章标签