python批量重命名,把0变成000000,数字位变成6位

有时候保存的图片或者其他文件的命名方式为:
xxx0.jpg
xxx1.jpg
xxx2.jpg
xxx3.jpg
xxx4.jpg
xxx5.jpg

但是某些计算机软件读这些文件的顺序是这样的:
xxx0.jpg
xxx1.jpg
xxx10.jpg
xxx101.jpg
xxx102.jpg
xxx103.jpg

就会造成一定的麻烦,利用python对这些文件重命名成以下格式就可以了:
xxx000000.jpg
xxx000001.jpg
xxx000002.jpg
xxx000003.jpg
xxx000004.jpg
xxx000005.jpg

import os
path = "需要重命名的文件所在文件夹"
filelist = os.listdir(path)
filelist.sort()
for file in filelist:
    Olddir=os.path.join(path,file)
    if os.path.isdir(Olddir):
        continue
    filename=os.path.splitext(file)[0]  #文件名 例如img0
    filename=filename[3:]  #忽略文件名前3位 取后面数字字符串
    filetype = os.path.splitext(file)[1]  #文件后缀名 例如.jpg
    Newdir=os.path.join(path,"xxx"+filename.zfill(6)+filetype)  #xxx可改为任意前缀,后面是6位整数
    os.rename(Olddir,Newdir)

猜你喜欢

转载自blog.csdn.net/baidu_41774120/article/details/126379128