OS-independent API to monitor file system?

╄→尐↘猪︶ㄣ 提交于 2019-12-03 12:52:11
Eric Drechsel

A bonified answer, albeit one that requires a largish library dependency (well-worth it IMO)!

QT provides the QFileSystemwatcher class, which uses the native mechanism of the underlying platform.

Even better, you can use the QT language bindings for Python or Ruby. Here is a simple PyQT4 application which uses QFileSystemWatcher.

Notes

  • A good reference on on creating deployable PyQT4 apps, especially on OSX but should work for Windows also.
  • Same solution previously posted here.
  • Other cross-platform toolkits may also do the trick (for example Gnome's GIO has GFileMonitor, although it is UNIX only and doesn't support OSX's FSEvents mechanism afaik).

The APIs are totally different for Windows, Linux, Mac OS X, and any other Unix you can name, it seems. I don't know of any cross-platform library that handles this in a consistent way.

In Linux it is called inotify.

And on OS X it's called fsevents. It's an OS-level API, so it's easiest to access from C or C++. It should be accessible from nearly any language, although bindings for your preferred language may not have been written yet.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!