Python 中的缩进错误[重复]
- 2025-03-26 09:08:00
- admin 原创
- 15
问题描述:
由于我的代码中的这部分,我无法编译:
if command == 'HOWMANY':
opcodegroupr = "A0"
opcoder = "85"
elif command == 'IDENTIFY':
opcodegroupr = "A0"
opcoder = "81"
我有这个错误:
抱歉:IndentationError:('unindent 与任何外部缩进级别都不匹配',('wsn.py',1016,30,“\t\telif 命令 =='IDENTIFY':\n”))
但我没有看到任何缩进错误。可能是什么问题?
解决方案 1:
您混合使用了制表符和空格。
使用以下方法查找准确位置:
python -tt yourscript.py
并将所有制表符替换为空格。您确实需要将文本编辑器配置为仅为制表符插入空格。
解决方案 2:
如有疑问,请更改编辑器以使制表符和空格可见。让编辑器将所有制表符解析为 4 个空格也是一个好主意。
解决方案 3:
对于 Sublime Text 编辑器
缩进错误通常发生在代码中混合使用制表符和空格进行缩进时。我有一个非常好的解决方案来纠正它,只需在 Sublime Text 编辑器中打开代码,然后'Tab Size'
在 Sublime Text 编辑器的右下角找到并单击它。现在选择
'Convert Indentation to Spaces'
或者
'Convert Indentation to Tabs'
无论哪种情况,您的代码都可以运行。
此外,如果您希望 Sublime text 自动为您执行每个代码的执行,您可以按如下方式更新首选项设置:-
Sublime Text 菜单 > 首选项 > 设置 - 语法特定:
Python.sublime 设置
{
"tab_size": 4,
"translate_tabs_to_spaces": true
}
解决方案 4:
在 Notepad++ 中
查看--->显示符号--->显示空格和制表符(选择)
将所有制表符替换为空格。
解决方案 5:
我也遇到过这种情况,不过问题解决了。我之前使用 5 个空格的缩进,但当我按下 Tab 键时,它通常会缩进 4 个空格。所以我认为你应该只使用一种方法;即使用 Tab 键添加缩进或空格。理想的缩进是 4 个空格。我发现 IntelliJ 对这类事情非常有用。
解决方案 6:
您是否可能使用一些<tab>
来代替空格?
尝试删除代码前的所有空格,然后使用<space>
字符重新添加它们,以确保它不是<tab>
。
解决方案 7:
我也遇到过这种情况,python 对空格敏感,因此在“ : ”(冒号)后面可能留有一个空格,
例如:[空格用“ . ”表示]
`if command == 'HOWMANY':.
opcodegroupr = "A0"
opcoder = "85"
elif command == 'IDENTIFY':.
opcodegroupr = "A0"
opcoder = "81"`
因此尝试删除不必要的空格,如果你在 IDE 中打开它,你的光标将显示在“:”之外,例如:- “ if command == 'HOWMANY': | ”
....而它应该是:- “ if command == 'HOWMANY':| ”