watchdogモジュールのwatchmedoコマンドが便利

誰から教えてもらったのか忘れたけど、ファイルの変更を監視して何か処理を行ったりできるwatchdogというPythonモジュールを試してみたら良い感じだった。
http://pypi.python.org/pypi/watchdog

インストール

PyPIに登録されているのでeasy_installでインストールできる。

> easy_install watchdog

watchmedoコマンドの使い方

watchdogをインストールするとwatchmedoというコマンドが使える。
watchmedoコマンドは、ファイルの変更があった際にコマンドを実行したりすることができる。試した環境はWindowsXP
例えばカレントディレクトリ以下の拡張子がrstのファイルの変更があった場合に、Sphinxのmake htmlを実行するならこんな感じ。

> watchmedo shell-command --patterns="*.rst" --recursive --wait --command="make html"

--recursive を指定すると再帰的にディレクトリをたどってファイルを探してくれる。
これがあればomake -Pを使わなくても継続ビルドが簡単にできるっぽ。Pythonで完結させられるのもうれしい。