python看门狗跟踪来自另一个进程的单个文件更改在检测到更改时失败
我有一个Rust中的代码,它将数据附加到文件中,我想使用Python跟踪文件何时被更改/扩展以将其存储到数据框中进行打印。下面是试图观察更改并将其存储到数据帧中的Python代码python看门狗跟踪来自另一个进程的单个文件更改在检测到更改时失败,python,watchdog,Python,Watchdog,我有一个Rust中的代码,它将数据附加到文件中,我想使用Python跟踪文件何时被更改/扩展以将其存储到数据框中进行打印。下面是试图观察更改并将其存储到数据帧中的Python代码 import logging import os.path import time import pandas as pd from watchdog.observers import Observer from watchdog.events import FileSystemEventHandler clas
import logging
import os.path
import time
import pandas as pd
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
class Handler(LoggingEventHandler):
file2track = "data.csv"
data = pd.DataFrame()
def on_any_event(self, event):
self.data.append(pd.read_csv(self.file2track, skiprows=len(self.data)))
print("Changed!")
if __name__ == '__main__':
logging.basicConfig(level=logging.INFO,
format='%(asctime)s - %(message)s',
datefmt='%Y-%m-%d %H:%M:%S')
event_handler = Handler()
observer = Observer()
observer.schedule(event_handler, event_handler.file2track, recursive=True)
observer.start()
try:
while True:
time.sleep(1)
print("looping")
except KeyboardInterrupt:
observer.stop()
observer.join()
我不明白为什么,但on_any_事件只在开始时被调用,然后在循环中被忽略,即使文件已更改。我尝试了其他事件(在修改、删除和创建时),但始终无法识别更改
这个文件保持相同的名称,所以我想知道看门狗是否没有检测到文件因此而不同!我不太理解文档中的内容,不知道文件被更改意味着什么。是日期、名称、文件大小。。。?有人发现了吗?
谢谢