【python】批量重命名文件夹中的所有图片名称和文件夹中所有的txt文件

一、介绍

最近在做基于YOLOv3的火焰目标检测项目,在制作数据集时,发现图片名称很是杂乱,不利于YOLOv3模型的训练,所以编写python程序对文件夹下的图片和labels文件夹下的txt文件进行批量重命名。

二、代码实现

# -*- coding:utf9 -*-
'''
批量重命名文件夹中的图片文件
我依次把三个文件夹的更新了一下,抽查的几个,发现按照统一规则转换的是对应着的
'''
# !/usr/bin/python3
import os


class BatchRename():

    def __init__(self):
        self.path1 = r'/data/sdxx/mzq/YOLOv3/YOLOv3-New-fire/YOLOv3-SaveVideo-New/scripts/VOCdevkit/VOC2019/labels/'  #我把txt和image都改了下路径
       # self.path2 = r'F:/fire_data/SSD_fire_data/firename/'

    def rename(self):
        filelist = os.listdir(self.path1)
        print(filelist)
        total_num = len(filelist)
        i = 1
        #
        for item in filelist:
            if item.endswith('.txt'):
                src = os.path.join(os.path.abspath(self.path1), item)
                str1 = str(i)
                dst = os.path.join(os.path.abspath(self.path1), str1.zfill(6) + '.txt') #str1.zfill(x),x为一共几位数,用
0补齐,如001000
                # print(dst)
                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()

 

你可能感兴趣的:(python)