我正在使用Raspberry Pi 3进行家庭自动化项目,当txt文件发生变化时,我需要运行一些python脚本。有没有办法观察文件是否被更改? (目前我使用的是一个python脚本,它不断打开txt并检查是否有任何改变,但效率不高,有时会引起问题。 提前谢谢!
答案 0 :(得分:1)
如果您想要在名为foo.txt
的本地目录中报告对单个文件的更改,您可以使用watchdog(这是一个皮肤过度,或等效的),如下所示:
from time import sleep
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
class Handler(FileSystemEventHandler):
def on_modified(self, event):
if event.src_path == "./foo.txt": # in this example, we only care about this one file
print ("changed")
observer = Observer()
observer.schedule(Handler(), ".") # watch the local directory
observer.start()
try:
while True:
sleep(1)
except KeyboardInterrupt:
observer.stop()
observer.join()