随笔-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)

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值