【Python私活案例】蚂蚁老师群里接了个私活,10分钟赚了100元,批量重命名文件!

蚂蚁学Python

共 1530字,需浏览 4分钟

 ·

2021-11-12 21:58

今天在蚂蚁学python的群里面,有同学提出了这样一个需求:

我一看有钱可以赚,立马来劲儿了,就接下了这一单。同学给我发来了具体的需求:“有一个文件夹folder,里面有5个文件夹,名称分别是A、B、C、D、E,这5个文件夹里面既有文件夹,还有.txt文件,如何重命名这五个文件夹中最后一层文件夹里面的txt文件(重要说明,只重命名最后一层里面的文件,不是最后一层的不用重命名),命名要求,原文件名字+对应的五个文件夹名字,如,A中最后一层文件夹的文件名是1.txtx,重命名后是,1_A.txt”

也就是说处理前的文件名是这样的:

处理后文件名变为这样:

其中,A是第一层文件夹的名字。

我马上想起了从帅帅老师那边学习长度如何用python中的os来处理文件实现办公自动化的知识,就是下面这一节:

再配合蚂蚁学python基础课中学过的对字符串的操作技巧,比如join函数、split方法等等,很快我就写出了以下代码:

import os
count = 0
for root, dirs, files in os.walk(".", topdown=False):
    for name in files:
        foldernames = root.split('\\')
        if len(foldernames) == 5:
            src = os.path.join(root, name)
            print(src)
            foldername = foldernames[2]
            print(f'修改前:{name}')
            parts = name.split('_')
            new_name = parts[0]+'_'+foldername+'_'+parts[1]+'_'+parts[2]
            print(f'修改后:{new_name}')
            dst = os.path.join('./renamedFiles/', new_name)
            print(dst)
            count = count + 1
            try:
                os.rename(src,dst)
            except Exception as e:
                print(e)
                print('rename file fail\r\n')
            else:
                print(f'rename file success\r\n{count}')

当然,中间调试花了一些时间,因为我发现有一些文件是重复的,这个时候,就需要好用try-except语句进行处理了。运行程序之后,只花了0.3S的时间,就完成了120个文件的重命名,真的是好快呀。

最后展示一下成果:

也赚到了今天的零花钱:

人生苦短,我用pyhton, 节省时间还能赚钱,真的香!


  代码参考自:

蚂蚁老师的课程《Python处理Excel办公自动化》

扫码购买,加微信ant_learn_python答疑



  点击《阅读原文》也可以到达课程页面

浏览 218
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报