改名:这里我的操作是把名字里的&全部改为-,因为在转化xml的过程中名字带有&会被认为非法字符,所以要对名字进行改进。
import os
path = "images"
files = os.listdir(path)
i = 0
for file in files:
old = path + os.sep + files[i]
new = path + os.sep + file.replace('&','-')
os.rename(old,new)
i+=1
print(i)
改内容:我这里是把标签为10的数据进行头身比裁切,之后加入到labels当中。作为新的line插入到labels当中。
import os
def remove(labels_path):
lst_dir = os.listdir(labels_path) #数据列表
count = 0
for file_name in lst_dir: #读取名字
label_path = labels_path + file_name #拼接文件路径
f = open(label_path,'r') #以读的方式打开文件
lines = f.readlines() #读取文件所有行
f.close() #关闭文件
for line in lines: #挨个读取每行
line_lst = line.split(' ') #将每行按照空格分成列表
if line_lst[0] == "10": #选出列表【0】里数据等于10的
l_x = line_lst[1]
l_y = line_lst[2]
l_w = line_lst[3]
l_h = line_lst[4]
y = float(l_y) / 7
h = float(l_h) / 7
r = open(label_path,'a') #以添加的方式打开数据
str1 ="6"+" "+str(l_x)+" "+str(y)+" "+str(l_w)+" "+str(h)+"\n"
r.write(str1) #写入数据
count = count+1
print(count)
if __name__ == '__main__':
remove('labels/')