Python Watchdog - 如何只在创建文件时查看?
Python Watchdog - How to only view when files are created?
从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()
您可能想看看 watchdog.events
LoggingEventHandler。除了启动 LoggingEventHandler 模块外,您附加的代码中没有任何内容与跟踪特定文件系统操作有关,我可以假设它处理所有文件系统事件?
您需要根据 FileSystemEventHandler
创建自己的事件处理程序 class。您将覆盖 on_created
方法以在收到事件时处理该事件。
从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()
您可能想看看 watchdog.events
LoggingEventHandler。除了启动 LoggingEventHandler 模块外,您附加的代码中没有任何内容与跟踪特定文件系统操作有关,我可以假设它处理所有文件系统事件?
您需要根据 FileSystemEventHandler
创建自己的事件处理程序 class。您将覆盖 on_created
方法以在收到事件时处理该事件。