重命名文件夹中的重复文件

时间:2017-06-17 15:58:31

标签: python file-rename

我正在重命名我的调用文件。文件保存为:

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)

1 个答案:

答案 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