python 批量重新命名資料夾下的影像

Thumb_發表於2020-12-10

要求:將下面的影像名改為 0001.png,0002.png,0003.png……(保持位數一致)在這裡插入圖片描述
程式碼如下:

import os

class ImageRename():
    def __init__(self):
        self.path = 'F:/data/bar 1'  # 圖片存放地址

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

        i = 1

        for item in filelist:
            if item.endswith('.png'):   # 此處圖片為 .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') + '.png')
                    #若要改寫成 5 位數,將 1000 改為 10000, '0' 改為 '00', 更高位數以此類推
                if i >= 1000:
                    dst = os.path.join(os.path.abspath(self.path), format(str(i), '0>3s') + '.png')
                    #若要改寫成 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()

結果:
在這裡插入圖片描述

相關文章