我在Windows中的Idle上编写了一些python程序。后来我转向 Ubuntu 14.04 上的 gedit。两者都有python3工作。
我在 gedit 中编辑了这些文件。
当我运行这些文件时,我得到
'TabError: inconsistent use of tabs and spaces in indentation'
错误,即使在视觉上,也没有完成不一致的制表符或缩进。
[看起来,在Windows的Idle上,选项卡是4个空格宽,而在gedit中,选项卡目前是8个空格宽。所以,我不能直接使用TAB
。
如何解决此错误和问题?有什么解决办法吗?
标准答案是配置您的编辑器(所有编辑器),以便您只有空格并且始终有四个空格。对于已经存在的代码,您必须将所有选项卡转换为空格(sed
可以快速完成,您使用的任何编辑器/IDE也是如此)。大多数编辑器在按TAB
键时应该能够插入空格。
请参阅 pep8 以供参考:
空格是首选的缩进方法。
选项卡应仅用于与已使用选项卡缩进的代码保持一致。
Python 3 不允许混合使用制表符和空格进行缩进。
混合使用制表符和空格缩进的 Python 2 代码应转换为仅使用空格。
使用 -t 选项调用 Python 2 命令行解释器时,它会发出有关非法混合制表符和空格的代码的警告。使用 -tt 时,这些警告变为错误。强烈推荐这些选项!
另请参阅,这以检查制表符和空格的混合。
使用Sublime Text Editors的人,以这种方式检查。
- 选择所有代码。
- 选择"工具"。
- 单击"安装包控制"。
- 然后单击命令托盘。
- 搜索"转换为选项卡"并选择它。
- 做。所有空格都将转换为制表符。