文字识别的图片都会配一个.txt文档,有时候数据分配在不同的文件夹下,还可能存在不同文件夹图片重名的情况,这时候做数据预处理将会增加很多麻烦,一个一个改十万多的图片又不现实,可以用几行代码同时修改名字还有解决重复问题,以上都是凑字,上代码:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
#coco
import os
#所有子文件夹名字
path_list = ['000','001','002','003','004','005','006','007','008','009',
'010','011','012','013','014','015','016','017','018','019',
'020','021','022','023','024','025','026','027','028','029',
'030','031','032','033','034','035','036','037','038','039',
'040','041','042']
#print('path_list',path_list[1][2])
def rename():
total = 0
for pl in path_list:
path = 'F:/train' +"/"+pl+"/"
print('pl:',pl)
print('pl[2]',pl[2])
filelist = os.listdir(path)
count = 0
for item in filelist:
# 為圖片是jpg格式改名
if item[-4:] =='.jpg':
fileType = '.jpg'
#print('item:',item)
name=item.strip('.jpg')
Olddir = os.path.join(path, item)
#print('Olddir:',Olddir)
if os.path.isdir(Olddir):
continue
Newdir = os.path.join(path, name + '('+pl+')' + fileType)
#print('Newdir:',Newdir)
os.rename(Olddir, Newdir)
count=count+1
#為圖片是txt格式改名
if item[-4:] == '.txt':
fileType = '.txt'
# print('item:',item)
name = item.strip('.txt')
Olddir = os.path.join(path, item)
#print('Olddir:', Olddir)
if os.path.isdir(Olddir):
continue
Newdir = os.path.join(path, name + '('+pl+')' + fileType)
#print('Newdir:', Newdir)
os.rename(Olddir, Newdir)
count = count + 1
print(pl + "文件夹处理了" + str(count) + "个文件")
total = total +count
print("总共处理了"+str(total)+"个文件")
if __name__ == "__main__":
rename()
train下的文件夹样式:
不同文件夹下同名处理的结果展示:
以上就是多文件同名时候名字修改。