前回、gulp使ってファイルの監視しようと思ったけど、pythonにもあるみたいなので
それを使ってみる!
その名もWatchdog!!!
犬?番犬?ってこと?w
ってのは置いといてインストール
Watchdog インストール
いつものようにpipでインストール
$ pip install watchdog
Installing collected packages: PyYAML, argh, pathtools, watchdog
Successfully installed PyYAML-3.12 argh-0.26.2 pathtools-0.1.2 watchdog-0.8.3
なんか色々入ってきた。
チュートリアル
他のサイト見るより、まずはチュートリアルをみてみる。
watchdog Quickstart
import sys
import time
import logging
from watchdog.observers import Observer
from watchdog.events import LoggingEventHandler
if __name__ == "__main__":
logging.basicConfig(level=logging.INFO,
format='%(asctime)s - %(message)s',
datefmt='%Y-%m-%d %H:%M:%S')
path = sys.argv[1] if len(sys.argv) > 1 else '.'
event_handler = LoggingEventHandler()
observer = Observer()
observer.schedule(event_handler, path, recursive=True)
observer.start()
try:
while True:
time.sleep(1)
except KeyboardInterrupt:
observer.stop()
observer.join()
実行
とりあえず実行してみる。
testディレクトリを作成する
$ mkdir test
$ python example.py test
実行結果
2016-11-22 18:19:48 - Modified file: test/test.py
2016-11-22 18:19:50 - Modified file: test/test.py
2016-11-22 18:19:51 - Modified file: test/test.py
2016-11-22 18:19:52 - Modified file: test/test.py
2016-11-22 18:32:25 - Created file: test/hoge.py
2016-11-22 18:32:25 - Modified directory: test
2016-11-22 18:32:27 - Modified file: test/hoge.py
こんな感じで動いた!
別のエディタとかで、testとの中にファイル作って保存すると監視するようになっている。
中の説明は省いているけど、なんとなくわかった気がするー
って事で、次回はPEP8とwatchdogを連携させて動かしてみる!
ログ表示がうまく行くか不安だー
以上