我正在重命名我的调用文件。文件保存为:
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