【Python私活案例】蚂蚁老师群里接了个私活,10分钟赚了100元,批量重命名文件!
今天在蚂蚁学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答疑
点击《阅读原文》也可以到达课程页面
评论