Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更改txt文件时运行python脚本_Python_Raspberry Pi - Fatal编程技术网

更改txt文件时运行python脚本

更改txt文件时运行python脚本,python,raspberry-pi,Python,Raspberry Pi,我正在使用Raspberry Pi 3进行一个家庭自动化项目,当txt文件发生变化时,我需要运行一些python脚本。是否有办法监视文件是否已更改? (目前我使用一个python脚本,它不断地打开txt并检查是否有任何更改,但效率不高,有时会导致问题。 提前感谢!如果您想报告本地目录中名为foo.txt的单个文件的更改,您可以这样使用(这是inotify上的皮肤,或等效文件): from time import sleep from watchdog.observers import Obser

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

如果您想报告本地目录中名为
foo.txt
的单个文件的更改,您可以这样使用(这是inotify上的皮肤,或等效文件):

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

是否应该告诉您何时有文件更改txt文件更改是可预测的?否,客户机在需要时更改值。