Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 每次修改时如何只打印一次修改消息?_Python_Python 3.x - Fatal编程技术网

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()