1.读左边图片的名字,picture_list = os.listdir(path),列出文件夹内所有文件名称
2.读右边txt文件的内容;numpy.loadtxt(),加载txt文件内容
3.循环起,根据图片编号对应,一旦对应上,重命名图片的名称为:编号_Class; 函数os.rename()
4.重复3,直到所有的图片完成。
1.读左边图片的名字,
2.读右边txt文件的内容;
3.循环起,根据图片编号对应,一旦对应上,重命名图片的名称为:编号_Class;
4.重复3,直到所有的图片完成。
import csv
import os
import shutil
if 'res' not in os.listdir():
os.mkdir('res')
def read_csv(file_path: str) -> dict:
"""
:param file_path:
:return:
"""
json = {}
with open(file_path, 'r') as f:
read = csv.reader(f)
for i in read:
if len(i[0]) < 7:
continue
else:
json[i[0]] = i[1]
return json
def change_image_name(image_dir_path: str, target_name: dict, target_path: str) -> None:
"""
:param image_dir_path:
:param target_name:
:param target_path:
:return:
"""
image_arr = os.listdir(image_dir_path)
for i in image_arr:
try:
name = i.split('.')[0]
image_type = i.split('.')[-1]
path = image_dir_path + '\\' + i
new_path = target_path + '\\' + name + target_name[name] + '.' + image_type
shutil.copy(path, new_path)
print(name, 'over!')
except:
print(i, "not exist")
if __name__ == '__main__':
title_arr = read_csv('./data.csv')
change_image_name(image_dir_path='./image', target_name=title_arr, target_path='./res')
不知道你具体要怎么改,我就在图片名字后面加了那个种类的名字,默认生成一个res文件夹