更改txt文件时运行python脚本

时间:2017-06-22 16:21:26

标签: python raspberry-pi

我正在使用Raspberry Pi 3进行家庭自动化项目,当txt文件发生变化时,我需要运行一些python脚本。有没有办法观察文件是否被更改? (目前我使用的是一个python脚本,它不断打开txt并检查是否有任何改变,但效率不高,有时会引起问题。 提前谢谢!

1 个答案:

答案 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()