.. module:: tabnanny
:synopsis: Tool for detecting white space related problems in Python
source files in a directory tree.
.. moduleauthor:: Tim Peters <tim_one@users.sourceforge.net>
.. sectionauthor:: Peter Funk <pf@artcom-gmbh.de>
Source code: :source:`Lib/tabnanny.py`
For the time being this module is intended to be called as a script. However it is possible to import it into an IDE and use the function :func:`check` described below.
Note
The API provided by this module is likely to change in future releases; such changes may not be backward compatible.
.. function:: check(file_or_dir) If *file_or_dir* is a directory and not a symbolic link, then recursively descend the directory tree named by *file_or_dir*, checking all :file:`.py` files along the way. If *file_or_dir* is an ordinary Python source file, it is checked for whitespace related problems. The diagnostic messages are written to standard output using the :func:`print` function.
.. data:: verbose Flag indicating whether to print verbose messages. This is incremented by the ``-v`` option if called as a script.
.. data:: filename_only Flag indicating whether to print only the filenames of files containing whitespace related problems. This is set to true by the ``-q`` option if called as a script.
.. exception:: NannyNag Raised by :func:`process_tokens` if detecting an ambiguous indent. Captured and handled in :func:`check`.
.. function:: process_tokens(tokens) This function is used by :func:`check` to process tokens generated by the :mod:`tokenize` module.
.. seealso::
Module :mod:`tokenize`
Lexical scanner for Python source code.