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

問題:

在某一文件夾內有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)
相關文章
相關標籤/搜索