Uma maneira de "ouvir" alterações no sistema de arquivos do Python no Linux?

Quero poder detectar sempre que novos arquivos são criados ou arquivos existentes são modificados ou excluídos em uma determinada árvore de diretórios (ou conjunto de árvores). A maneira da força bruta de fazer isso seria apenas redigitalizar a árvore em busca de alterações, mas estou procurando uma solução mais "acionada por interrupção", em que o sistema de arquivos diga ao meu código o que mudou quando ele foi alterado, em vez de precisar que meu código fosse necessário. "pesquisa", varrendo continuamente milhares de arquivos, procurando alterações.

É preferível uma maneira de fazer isso em Python, mas se eu tiver que escrever um módulo nativo em C, tudo bem como último recurso.

questionAnswers(2)

yourAnswerToTheQuestion