¿Monitoreando contenidos de archivos / directorios?

¿Estoy buscando un paquete de Python de monitoreo de archivos multiplataforma? Sé que es posible monitorear archivos en windows usando pywin32, y hay paquetes que funcionan en Linux / Unix pero ¿alguien sabe acerca de uno multiplataforma?

Para sistemas basados ​​en Unix / Linux, debe usar los enlaces de Python del Monitor de alteración de archivos a libfam .

Para sistemas basados ​​en Windows, debe vincularse con la API Win32 FindFirstChangeNotification y funciones relacionadas.

En cuanto a una plataforma multiplataforma, no conozco una buena plataforma multiplataforma. Creo que sería mejor construir un módulo que funcione en cualquiera de los sistemas operativos que usan uno de los 2 métodos anteriores después de detectar qué sistema operativo es.

Estoy trabajando en una biblioteca con licencia MIT que ayuda a los progtwigs de Python a monitorear los eventos del sistema de archivos de la manera más portátil posible. Hay diferencias que estoy tratando de arreglar. Versión altamente alfa en este momento:

Compruébelo aquí: http://github.com/gorakhargosh/watchdog/

Los parches y contribuciones son bienvenidos.

Espero eso ayude. =) Saludos.

También echa un vistazo a esta opción:

http://pypi.python.org/pypi/watchdog

Se usó con una aplicación multiplataforma en Windows y OS X.

Encontré este enlace, que habla de su problema. Aunque realmente no proporciona una solución / biblioteca, creo que ayudará. http://www.stepthreeprofit.com/2008/06/cross-platform-monitoring-of-filesystem.html

No creo que haya uno multiplataforma todavía, por lo que es posible que desee rodar el suyo.

No tengo experiencia en esta área, así que no estoy muy seguro. Espero que esto ayude.

Nota
Estoy corregido, gamin está disponible en cygwin como me dijo Adam Bernier en un comentario. Es posible que desee buscar otras opciones en cygwin (si existen).

La forma más fácil en Linux es usar inotifywait (dado que su kernel es lo suficientemente reciente). No necesita ningún enlace especial, inotifywait puede personalizarse para imprimir líneas de salida en la salida estándar de la forma que desee. Mira y esta pregunta para un buen ejemplo.