我正在使用pyinotify.notifier
来跟踪文本文件中的更改。
当我对其进行特定更改时,我想打破通知程序循环。使用notifier.stop()
似乎不起作用。
这是我正在尝试做的事情:
class ModHandler(pyinotify.ProcessEvent):
def process_IN_MODIFY(self, evt):
#... Do Stuff
if "Expected change":
#break notifier loop
if __name__ == "__main__":
handler = ModHandler()
wm = pyinotify.WatchManager()
notifier = pyinotify.Notifier(wm, handler)
wdd = wm.add_watch('example.file', pyinotify.IN_MODIFY)
notifier.loop()
#when finished the loop, do more stuff
如何打破线程循环并返回主程序?
答案 0 :(得分:2)
之前,对此方法的调用是阻塞的
notifier.loop()
在我们输入c-c
(sigint)
这就是你需要做的。 发送sigint信号。 一些方法:
答案 1 :(得分:0)
从0.9.0版开始,您可以通过传递回调函数来停止通知程序循环。评估为True时,中断循环并停止通知程序。
https://github.com/seb-m/pyinotify/wiki/Recent-Developments#changes-introduced-with-pyinotify-090