TabError:
查看源文件,定位第48行代码。这里使用的是Ubuntu Linux的Vim编辑器。源文件中的第48行代码缩进位置表面看起来没有问题。
按一下Backspace键:
再按一下Backspace键:
再按一下Backspace键:
按下Tab键:
再按一下Tab键,调整第48行代码至正确位置,保存文件。
重新编译:
编译通过,错误修正成功,问题解决。
这种类型的问题通常是使用不同IDE编辑同一个源文件引起的。一些文本编辑器自动化程度较高,包含自动缩进,另一些则没有此类功能。在切换不同的IDE编辑同一源文件时,很容易混入不一致的引导符(控制符),从而导致Python编译器无法正常识别,抛出TabError。
为了避免此类问题,尽量不要频繁切换IDE和操作系统来编辑同一源文件。在无法避免切换工作环境的情况下,可以使用自动化程度较高的IDE查找和修正错误,例如Sublime Text在双击行号或代码行前面空白处可以查看代码行缩进引导符是否一致。而如Vim此类文本编辑器,如上面图片描述,可以从行列数字标识清晰地看到问题的根源。
Python秉着开放的原则,可以分别使用空格和制表符控制代码行缩进。为了避免不必要的混乱,最好只选择一种个人最习惯的缩进风格,或者遵循项目的需要进行一致性调整。