一、介紹
最近在做基於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()