当前文件夹有2个文件夹 一个是images,一个是labels 他们2个的名字都是一一对应的,除了后缀不同。labels的后缀为.txt,images的后缀为.jpg 但是labels的文件少于images,删除images文件夹中在labels没有对应相同名称.txt文件的文件
import os
# 文件夹路径
image_folder_path = './images'
label_folder_path = './labels'
# 获取文件夹中的文件名,但不带后缀
image_files = {f.split('.')[0] for f in os.listdir(image_folder_path) if f.endswith('.jpg')}
label_files = {f.split('.')[0] for f in os.listdir(label_folder_path) if f.endswith('.txt')}
# 寻找那些在labels中没有对应.txt文件的.jpg图片
images_to_delete = image_files - label_files
# 删除这些图片
for img in images_to_delete:
os.remove(os.path.join(image_folder_path, img + '.jpg'))
print(f"已删除 {len(images_to_delete)} 张图片")