1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| import os
def update_class_numbers(txt_file_path, class_map): """ 更新TXT文件中每行的类别编号,根据给定的类别映射字典。 :param txt_file_path: TXT文件的路径。 :param class_map: 字典,键是原始类别编号,值是更新后的类别编号。 """ updated_lines = [] with open(txt_file_path, 'r') as file: lines = file.readlines() for line in lines: parts = line.split() class_id = int(parts[0]) if class_id in class_map: new_class_id = class_map[class_id] parts[0] = str(new_class_id) updated_lines.append(' '.join(parts) + '\n') with open(txt_file_path, 'w') as file: file.writelines(updated_lines)
txt_dir = 'datasets/clothes/train/labels' class_map = {15:16 , 1: 2, 2: 3}
path_list = os.listdir(txt_dir) path_list = [os.path.join(txt_dir, path) for path in os.listdir(txt_dir)]
for path in path_list: update_class_numbers(path, class_map) print(path+'ok')
|