在某一文件夹内有97个sql文件,所有都以统一格式命名,例如“A201222-广州李小龙记念协会-1-广州李小龙记念协会-2018.AUD”正则表达式
因为有两段重复了,并且中间的“1”也没有意义,须要删掉,保留为“A201222-广州李小龙记念协会-2018.AUD”sql
由于工做上的缘由,以后还继续会出现这种状况,因此下面我就写一个程序去批量修改spa
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)