【发布时间】:2021-06-30 13:07:05
【问题描述】:
我正在尝试为文件夹中的每个新文件运行我的程序。尝试使用 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()
【问题讨论】:
标签: python watchdog python-watchdog