import os
def delete_class():
files = os.listdir(txt_path)
for file in files: # 遍历文件夹中的所有文件
if file.endswith(".txt"): # 判断文件是否为txt文件
file_path = os.path.join(txt_path,file)
#读取文件内容
read_file = open(file_path,"r")
fline = read_file.readlines()
save_txt = open(new_txt_path + file,'w+') # 读取new_txt_path路径中的文件. w+表示打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
for i in fline: # 遍历txt文件中每一行
print(i)
line = i.split()
if line[0] != '1':#删除类别1
line1 = line #如果每行第一个不是1,就把这行的值赋值给line1,并把这行保存下来了
a = " ".join(line1)
save_txt.write(a)
save_txt.write('\n')
if __name__ == "__main__":
txt_path = "./data/txt/"
new_txt_path = "./data/delete_hou/"
delete_class()
批量删除yolo格式的标签中的某一类别,以下实例是删除txt文件中为1的类别
于 2024-01-08 18:25:41 首次发布