Python 每次修改时如何只打印一次修改消息?
在这段代码中,我监视文件的修改,但是当我运行这段代码并修改一个文件时,它只打印一次消息。如果我再次修改该文件,它将打印消息两次 给定结果 第一次修改Python 每次修改时如何只打印一次修改消息?,python,python-3.x,Python,Python 3.x,在这段代码中,我监视文件的修改,但是当我运行这段代码并修改一个文件时,它只打印一次消息。如果我再次修改该文件,它将打印消息两次 给定结果 第一次修改 event type: modified path: /home/bilal/Documents/Projects/BMP/Monitor/folder1/file.txt event type: modified path: /home/bilal/Documents/Projects/BMP/Monitor/folder1/file.txt
event type: modified path: /home/bilal/Documents/Projects/BMP/Monitor/folder1/file.txt
event type: modified path: /home/bilal/Documents/Projects/BMP/Monitor/folder1/file.txt
event type: modified path: /home/bilal/Documents/Projects/BMP/Monitor/folder1/file.txt
event type: modified path: /home/bilal/Documents/Projects/BMP/Monitor/folder1/file.txt
event type: modified path: /home/bilal/Documents/Projects/BMP/Monitor/folder1/file.txt
第二次修改
event type: modified path: /home/bilal/Documents/Projects/BMP/Monitor/folder1/file.txt
event type: modified path: /home/bilal/Documents/Projects/BMP/Monitor/folder1/file.txt
event type: modified path: /home/bilal/Documents/Projects/BMP/Monitor/folder1/file.txt
event type: modified path: /home/bilal/Documents/Projects/BMP/Monitor/folder1/file.txt
event type: modified path: /home/bilal/Documents/Projects/BMP/Monitor/folder1/file.txt
预期结果
第一次修改
event type: modified path: /home/bilal/Documents/Projects/BMP/Monitor/folder1/file.txt
event type: modified path: /home/bilal/Documents/Projects/BMP/Monitor/folder1/file.txt
event type: modified path: /home/bilal/Documents/Projects/BMP/Monitor/folder1/file.txt
event type: modified path: /home/bilal/Documents/Projects/BMP/Monitor/folder1/file.txt
event type: modified path: /home/bilal/Documents/Projects/BMP/Monitor/folder1/file.txt
第二次修改
event type: modified path: /home/bilal/Documents/Projects/BMP/Monitor/folder1/file.txt
event type: modified path: /home/bilal/Documents/Projects/BMP/Monitor/folder1/file.txt
event type: modified path: /home/bilal/Documents/Projects/BMP/Monitor/folder1/file.txt
event type: modified path: /home/bilal/Documents/Projects/BMP/Monitor/folder1/file.txt
event type: modified path: /home/bilal/Documents/Projects/BMP/Monitor/folder1/file.txt
代码
import os
import time
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
class MyHandler(FileSystemEventHandler):
def on_modified(self, event):
if os.path.isfile(event_src.path):
print(f"event type: {event.event_type} path: {event.src_path}")
def monitorFolders(path):
event_handler = MyHandler()
observer = Observer()
observer.schedule(event_handler, path, recursive=True)
observer.start()
try:
while True:
time.sleep(1)
except KeyboardInterrupt:
observer.stop()
observer.join()
fullPath = "/home/bilal/Documents/Projects/BMP/Monitor/folder1/"
if __name__ == "__main__":
m1 = monitorFolders(fullPath)
m1.start()
m1.join()