批量修改文件名
Posted Trouble Maker
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了批量修改文件名相关的知识,希望对你有一定的参考价值。
###
版本1和版本2的区别就是一个会按照图片原来的顺序,一个直接给所有的文件重新命名。
###
版本1
说明:修改os.listdir(path)下面的文件名,并且按 Newdir=os.path.join(path,‘img‘+numtag +filetype) 这个命名方式给文件重新命名。
import os; def rename(): path=r"D:\PycharmProjects\untitled\day1\testdd" # os.listdir(path).remove(‘list1.py‘) #该文件夹下所有的文件(包括文件夹) filelist=os.listdir(path) #该文件夹下所有的文件(包括文件夹) del filelist[-1] #去掉最后一个执行文件 print(filelist) num = 1 for files in filelist:#遍历所有文件 Olddir=os.path.join(path,files)#原来的文件路径 print (Olddir) if os.path.isdir(Olddir):#如果是文件夹则跳过 continue filename=os.path.splitext(files)[0] #文件名 # print(filename) filetype=os.path.splitext(files)[1] #文件扩展名 numtag= str(num).zfill(3) Newdir=os.path.join(path,‘img‘+numtag +filetype) #新的文件路径这里写入的是你新的文件名. print(Newdir) num +=1 os.rename(Olddir,Newdir) #重命名 rename()
版本2
填充文件名,比如文件名是img02.jpg ------> 可以修改文img002.jpg 文件名2的标签不会变。
import os def rename(): path=r"D:\PycharmProjects\untitled\day1\testdd" filelist=os.listdir() prefix_length=10 print(filelist) for i in range(len(filelist)-1): if len(filelist[i])==prefix_length: continue else: # print(filelist[i]) # print(filelist[i][3:]) d=filelist[i][3:].zfill(7) # print(d) Newdir = os.path.join(path, ‘img‘+ d); # 新的文件路径 print(Newdir) os.rename(filelist[i],Newdir) rename()
以上是关于批量修改文件名的主要内容,如果未能解决你的问题,请参考以下文章