【问题标题】:Python Watchdog - How to only view when files are created?Python Watchdog - 如何仅查看文件何时创建?
【发布时间】:2019-01-31 00:14:15
【问题描述】:

Watchdog Quickstart 中,我可以看到所有事件,例如何时修改文件夹、删除文件、创建文件等。但是,我只想查看何时创建文件。我必须更改什么才能仅查看创建的文件?

import sys
import time
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 = sys.argv[1] if len(sys.argv) > 1 else '.'
    event_handler = LoggingEventHandler()
    observer = Observer()
    observer.schedule(event_handler, path, recursive=True)
    observer.start()
    try:
        while True:
            time.sleep(1)
    except KeyboardInterrupt:
        observer.stop()
    observer.join()

【问题讨论】:

    标签: python python-watchdog


    【解决方案1】:

    您可能想看看watchdog.eventsLoggingEventHandler。除了启动 LoggingEventHandler 模块(我可以假设它处理所有文件系统事件)之外,您附加的代码中没有任何内容与跟踪特定文件系统操作有关?

    【讨论】:

    • 好吧,该代码直接来自快速入门。我的问题是如何忽略除创建文件之外的所有操作?
    【解决方案2】:

    您需要根据FileSystemEventHandler 创建自己的事件处理程序类。您将覆盖 on_created 方法以在收到事件时进行处理。

    【讨论】:

    • 但是不会触发其他事件吗?
    • 基础FileSystemEventHandler 对象不会做任何特别的事情。因此,如果您不覆盖其他事件的方法,它们将执行默认操作(即不执行任何操作)。
    猜你喜欢
    • 2020-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多