Модуль pyfsevents позволяет программам Python использовать инфраструктуру Mac OS X FSEvents. Можно зарегистрировать путь и функцию обратного вызова, а затем вызвать функцию listen(), которая блокирует до тех пор, пока событие с файловой системой не произойдет в зарегистрированном пути.Threading and pyfsevents
pyfsevents.registerpath("/example", callback)
pyfsevents.listen()
Я хотел бы использовать этот модуль в многопоточной программе, имеющий одну блокировки потоков и ожидании событий файловой системы, а затем уведомление другого потока для обработки события. К сожалению, похоже, что listen() блокирует всю программу, а не только вызывающий поток. Может ли кто-нибудь подтвердить это? Есть ли способ заблокировать только вызывающий поток? Если нет, существуют ли способы достижения аналогичной функциональности, то есть, если поток обнаруживает изменения в каталоге, предпочтительно без опроса?