故事背景
最近要跑一个深度学习模型,下载了数据集,发现images文件夹和labels文件夹的数目不对。也就是说,两个文件夹中必有一方是少数据的,这对于我训练不好,所以我要做的是匹配两文件夹下的文件名称,剔除丢失的文件
使用python完成
import os
def match_name(A_path,B_path):
#两个列表用于存放的文件名
A_list =os.listdir(A_path)
B_list =os.listdir(B_path)
if(len(A_list)>len(B_list)): #用多的对少的
less_list =[]
for i in B_list:
less_list.append(i.split('.')[0])
for i in A_list:
# print(i.split('.')[0])
if i.split('.')[0] not in (less_list):
print("该文件丢失:{}".format(i))
#os.remove(os.path.join(A_path,i)) #取消注释就会自动删除
else:
less_list = []
for i in A_list:
less_list.append(i.split('.')[0])
for i in B_list:
# print(i.split('.')[0])
if i.split('.')[0] not in (less_list):
print("该文件丢失:{}".format(i))
#os.remove(os.path.join(A_path, i)) #取消注释就会自动删除
if __name__ =='__main__':
# 设置需要匹配的两个文件夹的路径
A_path = r'F:\Desktop\乱葬岗\output\trainval'
B_path = r'F:\Desktop\乱葬岗\output\trainval_labels'
match_name(A_path,B_path)