python批量重命名文件吗,00001,不是补零,在前面插入0

import os

class ImageRename():
    def __init__(self):
        self.path = r'D:\phone_check\images'  # 图片存放地址

    def rename(self):
        filelist = os.listdir(self.path)
        total_num = len(filelist)

        i = 1

        for item in filelist:
            if item.endswith('.jpg'):   # 此处图片为 .png 格式,也可是 .jpg 格式
                src = os.path.join(os.path.abspath(self.path), item)
                if i < 1000:
                    dst = os.path.join(os.path.abspath(self.path), '0' + format(str(i), '0>3s') + '.jpg')
                    #若要改写成 5 位数,将 1000 改为 10000, '0' 改为 '00', 更高位数以此类推
                if i >= 1000:
                    dst = os.path.join(os.path.abspath(self.path), format(str(i), '0>3s') + '.jpg')
                    #若要改写成 5 位数,将 1000 改为 10000, 在 format 前加一个0,如上一行,更高位数以此类推
                os.rename(src, dst)
                print('converting %s to %s ...'% (src, dst))
            i = i + 1
        print('total %d to rename & converted %d pngs' % (total_num, i))

if __name__ == '__main__':
    newname = ImageRename()
    newname.rename()

先用上面代码重命名,再用下面代码替换成五位数字,缺的补零。

import os
path = r'D:\phone_check\images'
files = os.listdir(path)  # 文件夹里的所有文件名存成列表list
for i, file in enumerate(files):
    # 重点在05d,这样会自动补齐5位,不足的补零
    # 为啥是0 + i,方便后面添加,把0改了就行
    NewFileName = os.path.join(path, '%05d'% (0+i)+'.jpg')
    OldFileName = os.path.join(path, file)
    # print('第%d个文件:%s'%(i+1,NewFileName))
    os.rename(OldFileName, NewFileName)  # 改名