首页 > 解决方案 > 为什么 python watchdog 无法监控某些文件夹?

问题描述

我正在尝试使用 python 中的“看门狗”包来监视我的文件夹的更改。以下代码直接从看门狗文档中复制而来,并且运行良好。

import sys
import logging
from watchdog.observers import Observer
from watchdog.events import LoggingEventHandler

if __name__ == '__main__':
    logging.basicConfig(level=logging.INFO,
                        format='%(asctime)s - %(message)s',
                        datefmt='%Y-%m-%d %H:%M:%S')
    path =  '.'
    event_handler = LoggingEventHandler()
    observer = Observer()
    observer.schedule(event_handler, path, recursive=False)
    observer.start()
    try:
        while observer.is_alive():
            observer.join(1)
    finally:
        observer.stop()
        observer.join()

但是,当我尝试更改“路径”变量时,代码可能不起作用。例如,如果path='./build/',我可以按预期看到“./build/”文件夹中的更改,但是如果path='./build/result/',无论我对相应文件夹进行什么更改,终端都不会打印任何内容。

我不明白为什么,我不得不寻求帮助。

我正在通过 WSL2 使用 ubuntu-20.04LTS。

标签: pythonwatchdog

解决方案


推荐阅读