(New in 2.0) The tabnanny
module checks Python source files for ambigous
indentation. If a file mixes tabs and spaces in a way that throws off
indentation, no matter what tab size you’re using, the
nanny complains.
In the badtabs.py
file used in the following
examples, the first line after the if
statement
uses four spaces followed by a tab. The second uses spaces only.
$ tabnanny.py -v samples/badtabs.py ';samples/badtabs.py': *** Line 3: trouble in tab city! *** offending line: print "world" indent not equal e.g. at tab sizes 1, 2, 3, 5, 6, 7, 9
Since the Python interpreter reads a tab as eight spaces, the script will run correctly. It will also display correctly in any editor that assumes that a tab is either eight or four spaces. That’s not enough to fool the tab nanny, of course.
Example 11-6 shows how you can also use tabnanny
from your own programs.
To capture the output, you can redirect sys.stdout
to a StringIO
object.
18.117.75.70