Monitoring contents of files/directories? [duplicate]

I'm looking for a cross-platform file monitoring python package? I know it is possible to monitor files on windows using pywin32, and there are packages working on Linux/Unix but does anyone know about a cross-platform one?


I'm working on an MIT-licensed library that helps Python programs monitor file system events as portably as possible. There are differences that I'm trying to iron out. Highly alpha version at the moment:

Check it out here: http://github.com/gorakhargosh/watchdog/

Patches and contributions are welcome.

Hope it helps. =) Cheers.


For Unix/Linux based systems, you should use File Alteration Monitor Python bindings to libfam.

For Windows based systems, you should tie into the Win32 API FindFirstChangeNotification and related functions.

As for a cross platform way, I don't know about a good cross platform way. I think it would be best to build a module yourself that works on either OS that uses one of the 2 above methods after detecting what OS it is.


I found this link, which talks about your problem. Although it doesn't really provide s solution/library, I think it will help. http://www.stepthreeprofit.com/2008/06/cross-platform-monitoring-of-filesystem.html

I don't think there is a cross-platform one yet, so you might want to roll your own.

I am inexperienced in this area so I am not really sure. I hope this helps.

Note
I stand corrected, gamin is available on cygwin as Adam Bernier pointed out to me in a comment. You may want to research other options on cygwin (if they exist).


Also check out this option:

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

Was used with a cross-platform app on Windows and OS X.