"""
批量修改文件名:我这里用于对图片数据集标注
"""
import os
class BatchRename:
def __init__(self, inputpath, outputpath):
self.inputpath = inputpath
self.outputpath = outputpath
self.prefix = "/all_img_"
self.imglist = []
self.total_img = 0
self.strlen = 0
def get_imgs(self):
for root, dirs, files in os.walk(self.inputpath):
for filename in files:
if filename.endswith(('.png', '.jpg', '.jpeg', '.tif')):
self.imglist.append(root+"/"+ filename)
self.total_img = len(self.imglist)
self.strlen = len(str(self.total_img))
print(f"Total image is: {self.total_img}")
def rename(self):
self.get_imgs()
if 0 == self.total_img:
return
for i, item in enumerate(self.imglist):
n = self.strlen - len(str(i))
dst = self.outputpath + self.prefix + str(0) * n + str(i) + '.jpg'
try:
os.rename(item, dst)
print('converting %s ---> %s' % (item, dst))
except Exception as e:
print(e)
if __name__ == '__main__':
inputpath = "D:/dataset/all_img"
outputpath = "D:/dataset/all_img_rename"
BatchRename(inputpath, outputpath).rename()
OpenCV—python图像标注(批量文件重命名)
于 2018-09-26 11:33:46 首次发布
