Python批量修改文件名(os库)

问题:

在某一文件夹内有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)

 

posted on 2019-02-22 10:45  蛋挞王子  阅读(164)  评论(0编辑  收藏  举报

导航