我想使用看门狗来阻止,直到目录中的文件发生更改。我正在做的是在变量为False
. 但是,问题在于我无法中断睡眠。文件更改时仍有长达 1 秒的延迟中断。我怎样才能摆脱睡眠并在睡眠后继续前进?或者更一般地说,阻塞直到文件更改?这是我的代码:
import sys
import time
import os
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
if __name__ == "__main__":
observer = Observer()
def nothing():
pass
class FileChangeHandler(FileSystemEventHandler):
done = False
def on_any_event(self, event):
print 'Got event'
FileChangeHandler.done = True
path = sys.argv[1] if len(sys.argv) > 1 else '.'
event_handler = FileChangeHandler()
observer.schedule(event_handler, path, recursive=True)
observer.start()
while not event_handler.done:
time.sleep(1)
print 'Done'
observer.stop()
observer.join()