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