import os
from glob import glob

img_dir = 'C:/Users/pinb/Desktop/imgs'
mask_dir = 'C:/Users/pinb/Desktop/masks'

names = ['gold_ii',
        'gold_ie',
         'gold_io',
         'gold_ee',
         'gold_ei',
         'gold_eo',
         'gold_oi',
         'gold_oe',
         'gold_oo',
         'silver_ii',
         'silver_ie',
         'silver_io',
         'silver_ee',
         'silver_ei',
         'silver_eo',
         'silver_oi',
         'silver_oe',
         'silver_oo']


list_imgs = glob(os.path.join(img_dir, '**', '*.png'), recursive=True)
list_masks = glob(os.path.join(mask_dir, '**', '*.png'), recursive=True)

remove_file = []

# 마스크 파일 이름 목록 생성 (확장자 제거 및 '_mask' 추가)
list_imgs_basenames = set([x.replace('_mask', '').replace(mask_dir, img_dir) for x in list_masks])

# list_imgs에서 list_masks에 없는 파일 찾기
imgs_to_delete = [mask for mask in list_imgs_basenames if mask not in list_imgs]

print(len(list_imgs))     
print(len(list_masks))     
print(len(imgs_to_delete))
print(imgs_to_delete)

masks_to_delete = set([x.replace('.png', '_mask.png').replace(img_dir, mask_dir) for x in imgs_to_delete])

for mask in masks_to_delete:
    os.remove(mask)
    print(f'Deleted: {mask}')

    
list_imgs = glob(os.path.join(img_dir, '**', '*.png'), recursive=True)
list_masks = glob(os.path.join(mask_dir, '**', '*.png'), recursive=True)

print(len(list_imgs))
print(len(list_masks))