<分区>
当我指定的文件被修改时,我想调用我的 chrome
或 firefox
浏览器。当文件被修改时,我如何“观察”该文件以执行某些操作?
从程序上看,这些步骤似乎是..基本上每秒设置一个永无止境的间隔并缓存初始修改日期,然后每秒比较一次日期,当它更改时调用 X。
<分区>
当我指定的文件被修改时,我想调用我的 chrome
或 firefox
浏览器。当文件被修改时,我如何“观察”该文件以执行某些操作?
从程序上看,这些步骤似乎是..基本上每秒设置一个永无止境的间隔并缓存初始修改日期,然后每秒比较一次日期,当它更改时调用 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/