监视文件/目录的内容?

我正在寻找一个跨平台的文件监控python包? 我知道有可能使用pywin32监视窗口上的文件,并且有Linux / Unix上的工作包,但有人知道跨平台的?

对于基于Unix / Linux的系统,您应该使用File Alteration Monitor Python绑定到libfam 。

对于基于Windows的系统,您应该绑定到Win32 API FindFirstChangeNotification和相关函数。

至于跨平台的方式,我不知道一个好的跨平台方式。 我认为最好是自己构build一个模块,在检测到操作系统的操作系统上使用上述两种方法之一。

我正在研究麻省理工学院许可的图书馆,帮助Python程序尽可能便携地监控文件系统事件。 我试图解决这个问题。 目前高度的alpha版本:

看看这里: http : //github.com/gorakhargosh/watchdog/

补丁和贡献是受欢迎的。

希望它有帮助。 =)干杯。

也检查出这个选项:

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

与Windows和OS X上的跨平台应用程序一起使用。

我发现这个链接,它谈到你的问题。 虽然它没有提供解决scheme/库,但我认为这会有所帮助。 http://www.stepthreeprofit.com/2008/06/cross-platform-monitoring-of-filesystem.html

我不认为有一个跨平台的,所以你可能想要推出自己的。

我在这方面没有经验,所以我不太确定。 我希望这有帮助。

注意
我的立场是正确的,在cygwin上可以findgamin,正如Adam Bernier在评论中指出的那样。 你可能想研究一下cygwin的其他选项(如果存在的话)。

Linux上最简单的方法是使用inotifywait(因为你的内核已经足够了)。 您不需要任何特殊绑定,可以自定义Inotifywait以任何您想要的方式在标准输出上打印输出行。 看这个问题就是一个很好的例子。