实现效果:
将不规则的文件命名按照文件创建顺序逆序批量修改,当然你不仅可以根据文件创建顺序进行重命名,或者根据名称进行排序或者其他也是可以的。同时限定位数进行递增重命名,到达某个数目就会增加首位标号
原文链接:https://blog.csdn.net/u010986776/article/details/81417321
自己修改成了按照创建时间逆序批量重命名。
代码:
import os
# 按修改时间排序后,批量重命名文件,并加序号前缀
def renameFilesSortedByTime(dirPath):
mlist = []
# 获得文件名列表
files = os.listdir(dirPath)
# 获得名称带时间戳的新文件名列表
for filename in files:
# 获得文件的最后修改时间
createTime = os.path.getmtime(dirPath + filename)
# 将最后修改时间戳作为文件名的前缀,得到新的文件名,加入列表
mlist.append(str(int(createTime)) + "-" + filename)
# 重新给列表排序,这次所有文件按修改时间逆序排序了
mlist = sorted(mlist,reverse=True)
# 遍历修改时间戳为序号
j=0
count=112
for i in range(len(mlist)):
# 截取获得原先的文件名
oldName = mlist[i][11:]
if j>24:
j=0
count=count+1
temp="%05d" % (j+1)
newName = str(count)+"_"+temp+ ".jpg"
print(newName, oldName)
# 重命名文件,按修改时间排序并加序号前缀(重命名函数)
#os.rename(dirPath + oldName, dirPath + newName)
j=j+1
if __name__ == '__main__':
renameFilesSortedByTime("I:\\yyc_1\\yyc_1\\")
print("Job Done!")