Pythonのwatchdogライブラリのサンプルを見た際に
以下の2点についてどう考えたらよいか自信がなかったため、経験者の方のご見解をお聞きしたいです。
- while文にて繰り返しtime.sleep処理を行なっている理由(このsleep処理がないと、監視状態がすぐに解けてしまうので仕方なくこのような処理をwhile文で入れている。sleep中もobserverクラスによるディレクトリ監視は随時行われているという理解で問題ないものでしょうか)
- observer.join()の意味(KeyboardInterruptが起きた際=Ctrl + cが押された時点で処理は終了すると思われるのですが、この処理を敢えて書く意味・利点はどういったところにあるのでしょうか)
なお、公式のサンプルコードに関しては以下の通りです。
python
1import sys 2import time 3import logging 4from watchdog.observers import Observer 5from watchdog.events import LoggingEventHandler 6 7if __name__ == "__main__": 8 logging.basicConfig(level=logging.INFO, 9 format='%(asctime)s - %(message)s', 10 datefmt='%Y-%m-%d %H:%M:%S') 11 path = sys.argv[1] if len(sys.argv) > 1 else '.' 12 event_handler = LoggingEventHandler() 13 observer = Observer() 14 observer.schedule(event_handler, path, recursive=True) 15 observer.start() 16 try: 17 while True: 18 time.sleep(1) 19 except KeyboardInterrupt: 20 observer.stop() 21 observer.join()
お手数おかけしますが、ご回答のほどよろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/05/16 13:34