Python

Watchdog インストール

2016年11月22日

PythonのWatchdog

前回、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を連携させて動かしてみる!
ログ表示がうまく行くか不安だー

以上

-Python
-