Способ «прослушать» изменения в файловой системе из Python на Linux? - PullRequest
2 голосов
/ 02 сентября 2010

Я хочу иметь возможность обнаруживать, когда новые файлы создаются или существующие файлы изменяются или удаляются в данном дереве каталогов (или в наборе деревьев). Грубым способом сделать это было бы просто пересмотреть дерево в поисках изменений, но я ищу более «управляемое прерыванием» решение, в котором файловая система сообщает моему коду, что изменилось при его изменении, а не мой код «опрос» путем постоянного сканирования тысяч файлов в поисках изменений.

Предпочтителен способ сделать это на Python, но если мне нужно написать собственный модуль на C, это нормально в качестве крайней меры.

Ответы [ 2 ]

8 голосов
/ 02 сентября 2010

twisted.internet.inotify! Гораздо полезнее иметь присоединенный к событию цикл, чем просто плавающее inotify. Использование twisted также дает вам filepath бесплатно, что является хорошей библиотекой для более удобного управления путями к файлам в python.

8 голосов
/ 02 сентября 2010

pyinotify ИМХО - единственный способ получить системные изменения без сканирования каталога.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...