缩进不一致 [PYTHON] TabError [不同的编辑器]



我在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的人,以这种方式检查。

  1. 选择所有代码。
  2. 选择"工具"。
  3. 单击"安装包控制"。
  4. 然后单击命令托盘。
  5. 搜索"转换为选项卡"并选择它。
  6. 做。所有空格都将转换为制表符。

最新更新