Watchdog - 监视目录以创建新文件,但如果已存在具有相同文件名的文件,则忽略

问题描述

我正在尝试为文件夹中的每个新文件运行我的程序。尝试用看门狗实现监控,偶然发现了以下问题。
我的程序对文件夹中的每个新文件有什么作用? 它改变它(其中的一些参数)意味着它创建一个具有相同文件名的新文件。我希望看门狗检测目录中何时有新文件,然后运行我的程序,创建一个具有相同文件名的新文件(这就是我的程序所做的),但是,最重要的是,我不希望它在同一个文件上再次运行我的程序。 可以吗?

这是我已经尝试过的 MWE。

from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
from watchdog.events import FileCreatedEvent
from watchdog.events import PatternMatchingEventHandler  

class MyMonitorFolder(PatternMatchingEventHandler):
    patterns = ["*.fits"]
    
    def process(self,event):
        src_path = "A/B/"
        myProgram(src_path)
        
    def on_created(self,event):
        print (str(datetime.now()) + " " + str(event))
        self.process(event)
   
if __name__ == "__main__":
    event_handler = MyMonitorFolder()
    observer = Observer()
    observer.schedule(event_handler,path=src_path,recursive=False)
    print("Monitoring started")
    observer.start()
    
    try:
        while True:
            time.sleep(1)
    except KeyboardInterrupt:
        observer.stop()
    observer.join()

解决方法

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

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

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