如何为python看门狗编写代码以监视多个位置/文件夹中的文件系统更改

问题描述

如何配置或编写代码watchdog来观察和监视多个文件夹/位置以进行文件系统更改?我是python的新手,出现以下错误代码如下。请协助我编写代码,以便watchdog可以监视多个文件夹的文件更改?预先感谢。

Traceback (most recent call last):
  File "C:/Users/MonitorFilesMultipleFolder.py",line 27,in <module>
    observer.schedule(event_handler,dir_name[i],recursive=True)
TypeError: list indices must be integers or slices,not str

我的代码

import time
from watchdog.observers import Observer
from watchdog.events import PatternMatchingEventHandler


class EventHandler(PatternMatchingEventHandler):
    def on_modified(self,event):
        super(EventHandler,self).on_modified(event)
        print(event)


if __name__ == "__main__":
    # Create event handler
    patterns = "*"
    ignore_patterns = ""
    ignore_directories = False
    case_sensitive = True

    event_handler = PatternMatchingEventHandler(patterns,ignore_patterns,ignore_directories,case_sensitive)

    dir_name = ["C:/Folder1","C:/Folder2"]
    observer = Observer()

    # iterate through dir_name for select multiple location to start observer
    for i in dir_name:
        print(i)
        observer.schedule(event_handler,recursive=True) # Got error here -> TypeError: list indices must be integers or slices,not str 

    # Start the Observer
    observer.start()

    try:
        while True:
            time.sleep(0.1)
    except KeyboardInterrupt:
        observer.stop()
    observer.join()

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)