原因
Annotations和JPEGS的文件夹,有部分图片的标注缺失。
代码
import os
def compare_folders(folder1, folder2):
# files1 = set(os.listdir(folder1))
# files2 = set(os.listdir(folder2))
files1 = set(os.path.splitext(file)[0] for file in os.listdir(folder1))
files2 = set(os.path.splitext(file)[0] for file in os.listdir(folder2))
unique_files = files1.symmetric_difference(files2)
return unique_files
folder1 = './Annotations'
folder2 = './Object_split'
unique_files = compare_folders(folder1, folder2)
def get_files_with_extension(folder, extension):
files = []
for file in os.listdir(folder):
if file.endswith(extension):
files.append(file)
return files
print(len(unique_files))
# for file in unique_files:
# print(file)
for file in get_files_with_extension(folder1, ".xml"):
if os.path.splitext(file)[0] in unique_files:
print(file)
for file in get_files_with_extension(folder2, ".jpg"):
if os.path.splitext(file)[0] in unique_files:
print(file)
python中使用Set函数可以清楚list中的重复项
splitext分割文件名
endswith获取拓展名
symmetric_difference进行list比较