2017-06-17 22 views
0

私は多くの私の呼び出しファイルの名前を変更しています。私は正規表現を使用していますフォルダ内の重複したファイルの名前を変更する

020171707p + 917348809123.m4a

02016p + 917348809123.m4a

020171707p + 918658644125.m4a

020171707p + 913676876817.m4a

:ファイルは次のように保存されます+記号の後に数字だけを表示します。 しかし、2つのファイルに同じ名前を付けることはできないので、エラーが発生します。新しいファイル(名前がわずかに異なるだけです)が同じフォルダに残るように、コードを修正する方法はありますか?ここで

は私のコードです:ここ

import re 
import os 
path="D:\\docu\s\mjay\docu\\acr" 
DIR=os.chdir(path) 
newstr=".m4a" 
for filename in os.listdir(path): 
    match=re.search("p\+(\d+)",filename) 
    if match==None: 
    continue 
    newfilename=match.group(1)+newstr 
    os.rename(filename,newfilename) 
+0

が見つかった重複に有効な整数接尾辞を追加しています。 –

答えて

0

は簡単に修正

import os 
count = 1 
path = "D:\\docu\s\mjay\docu\\acr\\" 

for filename in os.listdir(path): 
    try: 
     f_name = filename.split("+")[1] 
     f_name = f_name.split(".")[0]+"."+f_name.split(".")[1] 
     os.rename(path+filename,path+f_name) 
     count +=1 
    except: 
     f_name = filename.split("+")[1] 
     f_name = f_name.split(".")[0]+str(count)+"."+f_name.split(".")[1] 
     os.rename(path+filename,path+f_name) 
     count+=1 
関連する問題