我怎样才能“观看”文件进行修改/更改?

当我指定的文件被修改时,我想调用我的chromefirefox浏览器。 我怎么能“看”该文件做一些修改后的东西?

以编程方式,似乎步骤是…基本上设置一个永无止境的时间间隔每秒钟左右,caching初始修改date,然后比较date每一秒,当它改变调用X.

Solutions Collecting From Web of "我怎样才能“观看”文件进行修改/更改?"

如上所述,你可以使用pyinotify :

例如:

 import webbrowser import pyinotify class ModHandler(pyinotify.ProcessEvent): # evt has useful properties, including pathname def process_IN_CLOSE_WRITE(self, evt): webbrowser.open(URL) handler = ModHandler() wm = pyinotify.WatchManager() notifier = pyinotify.Notifier(wm, handler) wdd = wm.add_watch(FILE, pyinotify.IN_CLOSE_WRITE) notifier.loop() 

这比轮询更有效率。 内核告诉你什么时候执行操作,而不必经常问。

Linux内核有一个名为inotify的文件监视API。 python绑定是pyinotify 。

有了它,你可以建立你想要的。

安装inotify-tools并编写一个简单的shell脚本来观察一个文件。

另一个选项是使用校验和。 你可以使用类似于鼻子nosy.py的模式。 我使用dingus中的一个来检查我的目录以进行修改并运行测试套件。

使用FAM在文件上放置一个监视器。

按照本教程使用inotify Inotify示例:Inotify入门与C程序示例

使用快速哈希函数,一个cron工作,然后离开你!

此外,这看起来相关: http : //en.wikipedia.org/wiki/Inotify

显然, 看门狗既可以在Linux和OSX上运行,也可以用来监视目录中的更改以及很好的示例文档。 它也适用于python3.x万一你不想被迫使用python2.x