# 18.6 `tabnanny` -- あいまいなインデントの検出

差し当たり、このモジュールはスクリプトとして呼び出すことを意図しています。しかし、IDE上にインポートして下で説明する関数`check()`を使うことができます。

警告: このモジュールが提供するAPIを将来のリリースで変更する確率が高いです。このような変更は後方互換性がないかもしれません。

`check`( | file_or_dir)

  file_or_dirがディレクトリであってシンボリックリンクでないときに、file_or_dirという名前のディレクトリツリーを再帰的に下って行き、この通り道に沿ってすべての.pyファイルを変更します。file_or_dirが通常のPythonソースファイルの場合には、問題のある空白をチェックします。診断メッセージはprint文を使って標準出力に書き込まれます。

`verbose`
  冗長なメッセージをプリントするかどうかを示すフラグ。スクリプトとして呼び出された場合は、`-v`オプションによって増加します。

`filename_only`
  問題のある空白を含むファイルのファイル名のみをプリントするかどうかを示すフラグ。スクリプトとして呼び出された場合は、`-q`オプションによって真に設定されます。

exception `NannyNag`
  あいまいなインデントを検出した場合に`tokeneater()`によって発生させられます。`check()`で捕捉され処理されます。

`tokeneater`( | type, token, start, end, line)

  この関数は関数`tokenize.tokenize()`へのコールバックパラメータとして`check()`によって使われます。

参考資料:

`tokenize`モジュール:
  Pythonソースコードの字句解析器。.