gpt4 book ai didi

python - 看门狗观察者法

转载 作者:行者123 更新时间:2023-12-02 20:46:05 26 4
gpt4 key购买 nike

我是 python 和 watchdog 的新手,并且对快速入门示例感到困惑。在示例中,有这样的代码块:

self.observer.start()
try:
while True:
time.sleep(5)
except:
self.observer.stop()
print('Error')

self.observer.join()

我找不到任何有关 startstopjoin 方法的文档。另外,虽然知道 try except 内的 while 循环可能使观察者每 5 秒运行一次,但我不明白它是如何工作的?

谁能解释一下这三个方法的作用以及循环是如何工作的?

最佳答案

更新:我根据@Amit Gupta 的帖子更正了我的答案。


经过一番研究,我发现这三个方法都属于 threading.Thread 对象。

self.observer.start() 创建一个新线程,

当为真时:
time.sleep(1)
保持主线程运行

当程序停止时,self.observer.stop() 在线程终止之前执行一些工作。 (@阿米特·古普塔)

需要

self.observer.join() 来正确结束线程,因为“它会阻塞您正在其中进行调用的线程,直到 (self.observer) 已完成。”正如 Erik Allik 在 Use of threading.Thread.join() 中所说

关于python - 看门狗观察者法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44401653/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com