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

时间:2015-03-16 10:09:23

标签: python python-3.x indentation

我在Windows上的Idle上写了一些python程序。我后来转到了Ubuntu 14.04上的gedit。两者都有 python3 工作。

我在gedit中编辑了这些文件。

当我运行这些文件时,我得到了

'TabError: inconsistent use of tabs and spaces in indentation' 

错误,即使 VISUALLY ,也没有做出不一致的标签或缩进。

[貌似,在Windows上'闲置标签 4个空格宽,而在gedit中,标签目前 8个空格宽。所以,我无法直接使用TAB。]

如何解决此错误和问题? 任何解决方案?

2 个答案:

答案 0 :(得分:2)

标准答案是配置您的编辑器(所有这些编辑器),以便您只有空格并且总是有四个空格。对于已经存在的代码,您必须将所有选项卡转换为空格(sed可以快速完成,就像您使用的任何编辑器/ IDE一样)。 按下TAB键时,大多数编辑者应该能够插入空格。

请参阅pep8以获取参考:

  

空格是首选的缩进方法。

     

选项卡应仅用于与已使用选项卡缩进的代码保持一致。

     

Python 3不允许混合使用制表符和空格进行缩进。

     

使用制表符和空格的混合缩进的Python 2代码应该转换为仅使用空格。

     

当使用-t选项调用Python 2命令行解释器时,它会发出有关非法混合制表符和空格的代码的警告。使用-tt时,这些警告会出错。强烈推荐这些选项!

另请参阅this以检查标签和空格的混合情况。

答案 1 :(得分:0)

使用Sublime文本编辑器的人们, 检查这种方式。

  1. 选择所有代码。
  2. 选择工具。
  3. 点击“安装程序包控制”。
  4. 然后单击Command Pallete。
  5. 搜索“转换为标签”并选择它。
  6. 完成。所有空格都将转换为制表符。