问题描述
我在 Rust 中有一个代码,用于将数据附加到文件中,我想使用 Python 来跟踪文件何时被更改/扩展以将其存储到数据帧中以进行绘图。这是尝试观察更改并将其存储到数据帧中的 Python 代码。
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_event 只在开始时被调用,然后即使文件已更改,也会在循环中被绕过。我尝试了其他事件(on_modified、on_deleted 和 on_created),但始终无法识别更改。
这个文件保持相同的名称,所以我想知道看门狗是否因此没有检测到文件不同!我不太了解文档更改文件的含义。是日期、名称、文件大小……?有没有人想过这个? 谢谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)