Распределение файлов сразу после скачивания

Написал код, который при запуске распределяет файлы в папке Downloads по категориям. Хотел бы сделать так, чтобы файл перемещался сразу в папку подходящей категории в момент скачивания, а не после запуска скрипта. Один из вариантов, чтоб скрипт запускался с какой-то периодичностью, но так он много времени будет работать в холостую. Подскажите, как можно это сделать рациональнее?

import os

os.chdir('ПУТЬ')

def repath():
    names = os.listdir()
    for name in names:
        path = os.path.abspath(name).split('\\')[-1]
        print(f'Имя файла - {path}')
        if os.path.isfile(path):
            base_name = os.path.basename(name).split('.')[-1]
            print(base_name)
            if base_name == 'png':
                img_path = 'ПУТЬ'
                os.replace(os.path.abspath(name), img_path+path)
            elif base_name == 'exe':
                exe_path = 'ПУТЬ'
                os.replace(os.path.abspath(name), exe_path+path)
            elif base_name == 'zip':
                arc_path = 'ПУТЬ'
                os.replace(os.path.abspath(name), arc_path+path)
            else:
                other_path = 'ПУТЬ'
                os.replace(os.path.abspath(name), other_path+path)




if __name__ == '__main__':
    repath()

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

Автор решения: Joker

Для периодического запуска можно использовать планировщик заданий, в Windows это может быть стандартная служба - Планировщик заданий, для Linux - cron и иже с ним.

К тому же, учитывая характер задачи, стоит узнать - не поддерживает ли программа осуществляющая закачку запуск программ по завершению, что может быть одним из устраивающих вариантов.

→ Ссылка