Python中的缩进错误

时间:2013-02-20 11:53:17

标签: python compiler-errors indentation

由于我的代码中的这一部分,我无法编译:

if command == 'HOWMANY':
    opcodegroupr = "A0"
    opcoder = "85"
elif command == 'IDENTIFY':
    opcodegroupr = "A0"
    opcoder = "81"

我有这个错误:

  

抱歉:IndentationError :(' unindent与任何外部缩进级别都不匹配',(' wsn.py',1016,30," \ t \ telif命令= =' IDENTIFY':\ n"))

但我没有看到任何缩进错误。可能是什么问题?

7 个答案:

答案 0 :(得分:9)

您正在混合制表符和空格。

找到具体位置:

python -tt yourscript.py

并用空格替换所有标签。您确实希望将文本编辑器配置为仅为选项卡插入空格。

答案 1 :(得分:6)

如有疑问,请更改编辑器以使标签和空格可见。让编辑器将所有选项卡解析为4个空格也是一个非常好的主意。

答案 2 :(得分:4)

缩进错误通常发生在代码不一致时意味着某处我们使用了空格和某些标签用于缩进。我有一个非常好的解决方案,只需在崇高的文本编辑器中打开你的代码,找到' Tab Size'在Sublime Text Editor的右下角,然后单击它。现在选择

'Convert Indentation to Spaces'

OR

'Convert Indentation to Tabs'

您的代码将适用于任何一种情况。

答案 3 :(得分:3)

在Notepad ++中

查看--->显示符号--->显示空格和标签(选择)

用空格替换所有标签。

答案 4 :(得分:1)

它也发生在我身上,但我遇到了问题。我使用的是5个空格的缩进,但是当按下tab时,它用于放置四个空格缩进。所以我认为你应该只使用一件事;即任一选项卡按钮添加缩进或空格。理想的是4个空间。 我发现IntelliJ对这些东西非常有用。

答案 5 :(得分:0)

您是否可以使用某些<tab>代替空格?

尝试删除代码前的所有空格,然后使用<space>字符读取它们,以确保它不是<tab>

答案 6 :(得分:-1)

这也发生在我身上,python对空间敏感,  因此在“ ”(冒号)之后 您可能已经留了一个空间,
例如: [空格由“ ”表示]]

`if command == 'HOWMANY':.
     opcodegroupr = "A0"
     opcoder = "85"
 elif command == 'IDENTIFY':.
     opcodegroupr = "A0"
     opcoder = "81"`

因此请尝试删除不必要的空格,如果在IDE中打开它,则光标将显示在远离“:”的位置,例如:-“ if command =='HOWMANY':|
                      ....应该为:-“ 如果命令=='HOWMANY':|