文件的批量命名python方法

class BatchRename():
    # 批量重命名文件夹中的图片文件
    def __init__(self):
        self.path = 'C:/Users/chan/Desktop/JPEGImages' #表示需要命名处理的文件夹

    def rename(self):
        filelist = os.listdir(self.path)      #获取文件路径
        total_num = len(filelist)             #获取文件长度(个数)
        i = 1                                 #表示文件的命名是从1开始的
        for item in filelist:
            if item.endswith('.jpg'):         #初始的图片的格式为jpg格式的(或者源文件是png格式及其他格式,后面的转换格式就可以调整为自己需要的格式即可)
                src = os.path.join(os.path.abspath(self.path), item)
                dst = os.path.join(os.path.abspath(self.path), format(str(i), '0>6s') + '.jpg')#处理后的格式也为jpg格式的,当然这里可以改成png格式
                try:
                    os.rename(src, dst)
                    print ('converting %s to %s ...' % (src, dst))
                    i = i + 1
                except:
                    continue
        print ('total %d to rename & converted %d jpgs' % (total_num, i))

if __name__ == '__main__':
    demo = BatchRename()
    demo.rename()

format()函数用法:‘0>3s’ 3是置为数,>是控制字符从右往左占的位置,<是控制字符从左往右占的位置,不够的位数补0,

如format(str(1),'0>6s')输出结果为000001,若format(str(1),'0<6s')输出结果为100000

posted @ 2020-09-20 20:10  奋斗的小鱼  阅读(435)  评论(0)    收藏  举报