问题:
在某一文件夹内有97个sql文件,全部都以统一格式命名,例如“A201222-广州李小龙纪念协会-1-广州李小龙纪念协会-2018.AUD”
由于有两段重复了,而且中间的“1”也没有意义,需要删掉,保留为“A201222-广州李小龙纪念协会-2018.AUD”
因为工作上的原因,之后还继续会出现这种情况,所以下面我就写一个程序去批量修改
解决代码:
import os path = ('输入文件路径') f = os.listdir(path) #将文件名提取为一个列表当中 k = 0 n = 0 for i in f: oldname = f[n] matchObj = oldname.split('-') #如果是面对复杂一点的结构,可以用正则表达式re.match('(A\d+\-)(.*\-1\-)(.*)',string),然后取其group(1)和group(3) if matchObj[2]!='2018.AUD':#因为文件夹内有几个文件经过手工修改,已经符合要求,所以这里写一个判断 newname = matchObj[0] + '-' + matchObj[4] os.rename(path+'\\'+oldname,path+'\\'+newname) k+=1 else: pass n+=1 print('已经修改了%d个文件名'% k)