Сортировка файлов в папке

Учусь сортировать папку на Python. Помогите понять, почему не все лишнее удаляется. Есть папка с фото, имена файлов в формате Coby_56_6714652396_0 где

Coby - имя
56 - возраст
6714652396 - ID фото
0 - порядковый номер фото.

Мне нужно, чтобы скрипт удалял лишние фото с условием: если возраст >=39 и количество фото меньше 3, то их нужно удалить все; если возраст <40, то фото не должно быть меньше 2. Что не так с кодом?

import os

def process_files(folder_path):
    deleted_files = []  
    deleted_photos_count = 0  
    
    files_info = {}
    for filename in os.listdir(folder_path):
        name, age, photo_id, order = filename.split('_')
        if age.isdigit():
            age = int(age)
        else:
            age = None
        files_info.setdefault((name, age), []).append((int(photo_id), int(order.split('.')[0]), filename))
    
    
    for key, files in files_info.items():
        name, age = key
        if age is not None and ((age < 40 and len(files) <= 2) or (age >= 40 and len(files) == 1)):
            for photo_id, order, filename in files:
                deleted_files.append(filename)
                os.remove(os.path.join(folder_path, filename))
                deleted_photos_count += 1

    
    if deleted_files:
        print("Были удалены следующие файлы:")
        for deleted_file in deleted_files:
            print(deleted_file)
        print(f"Всего было удалено {deleted_photos_count} фото.")
    else:
        print("Не было удалено ни одного файла.")


folder_path = r'D:\Work\Test\Test1'

process_files(folder_path)

Ответы (0 шт):