【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()

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章