Python批量处理文件名

数据集需要做下文件名的转换,记录一下以防今后忘记了。
原格式:‘1001.jpg’~‘1500.jpg’
需要格式:‘0000000.jpg’~‘0000499.jpg’
话不多说,直接贴代码了:

# -*- coding: utf-8 -*-
import os

class JpgRename():
    def __init__(self):
        self.path = '图片绝对路径'

    def rename(self):
        filelist = os.listdir(self.path)
        new_list = []
        for filelist_piece in filelist:
            #content的内容是1001.jpg
            content = str(filelist_piece)
            #new_content的内容是字符串1001
            new_content = content.replace('.jpg','')
            #num_content的内容是数字1001
            num_content = int(new_content) - 1001
            new_content = '0000' + format(str(num_content), '0>3s') + '.jpg'
            new_list.append(new_content)
        total_num = len(filelist)

        i = 0
        for item in filelist:
            if item.endswith('.jpg'):
                #abspath()函数返回绝对路径
                src = os.path.join(os.path.abspath(self.path), item)
                dst = os.path.join(os.path.abspath(self.path), new_list[i])
                os.rename(src, dst)
                print 'converting %s to %s ...' % (src, dst)
                i = i + 1
        print 'total %d to rename & converted %d txts' % (total_num, i)

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

你可能感兴趣的:(生活记录)