1

我想使用看门狗来阻止,直到目录中的文件发生更改。我正在做的是在变量为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()
4

0 回答 0