python - 如何修改/更改 "watch"文件?

标签 python linux

<分区>

当我指定的文件被修改时,我想调用我的 chromefirefox 浏览器。当文件被修改时,我如何“观察”该文件以执行某些操作?

从程序上看,这些步骤似乎是..基本上每秒设置一个永无止境的间隔并缓存初始修改日期,然后每秒比较一次日期,当它更改时调用 X。

最佳答案

如前所述,您可以使用 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()

这比轮询更有效。内核会告诉您它何时执行操作,而无需您不断询问。

关于python - 如何修改/更改 "watch"文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3274334/

相关文章:

linux - 如何在与 ubuntu 中默认端口 6379 不同的端口上启动 redis-server

Raspberry Pi 上的 Python 导入模块

Python 获取特定角色的所有成员列表

python - 是否有用于对 Big-O 复杂性进行编程操作的库?

python - 如何使 python 中的 Min-plus 矩阵乘法更快?

c - Linux gcc 中 fork() 的工作

linux - 如何编写shell脚本?

python - 根据列表将列表包装成自定义字符串

python - 如何将 zip 文件拆分为多个有效的 zip 文件?

c++ - QT中如何从文件中读取数据并显示在QEditText框中