制作自己的数据集,应该先进行格式重命名,以便于后期处理
import os
class BatchRename():
'''
批量重命名文件夹中的图片文件
'''
def __init__(self):
self.path = r'E:\python学习资料\python数据处理\xiangduiying'
def rename(self):
filelist = os.listdir(self.path)
total_num = len(filelist)
i = 1
for item in filelist:
if item.endswith('.jpg'):
src = os.path.join(os.path.abspath(self.path), item)
dst = os.path.join(os.path.abspath(self.path), '0' + format(str(i), '0>3s') + '.jpg')
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 pngs' % (total_num, i))
if __name__ == '__main__':
demo = BatchRename()
demo.rename()
当没有提前编号时,后期处理会带来一些麻烦,不过也有代码可以帮助大家
import os
class BatchRename():
'''
批量重命名文件夹中的图片文件
'''
def __init__(self):
self.path1 = r'E:\python学习资料\python数据处理\xiangduiying'
self.path2 = r'E:\python学习资料\python数据处理\labels_my-project-name_2021-09-23-10-49-03'
def rename(self):
filelist1 = os.listdir(self.path1)
filelist2 = os.listdir(self.path2)
total_num = len(filelist1)
i = 1
for item in filelist1:
if item.endswith('.jpg'):
src1 = os.path.join(os.path.abspath(self.path1), item)
src2 = os.path.join(os.path.abspath(self.path2), item[:-4]+'.txt')
dst1 = os.path.join(os.path.abspath(self.path1), '0' + format(str(i), '0>3s') + '.jpg')
dst2 = os.path.join(os.path.abspath(self.path2), '0' + format(str(i), '0>3s') + '.txt')
os.rename(src1, dst1)
os.rename(src2, dst2)
print('converting %s to %s ...' % (src1, dst1))
print('converting %s to %s ...' % (src2, dst2))
i = i + 1
print('total %d to rename & converted %d jpg' % (total_num, i))
if __name__ == '__main__':
demo = BatchRename()
demo.rename()