问题描述
现在spyder
中写python代码,之后使用Sublime text3
打开并修改了部分代码,再回到spyder
中运行程序,出现报错:IndentationError: unindent does not match any outer indentation level
问题排查
- 直观上,代码是否正确缩进,是否对齐
- 是否存在特殊空白字符
- tab和空格是否混用
解决方法
作者通过第3个排查步骤成功解决了报错信息。具体操作为:在Sublime text3
中修改settings
,将tab
键转换为空格,统一缩进的方式
// Set to true to insert spaces when tab is pressed
"translate_tabs_to_spaces": false,
问题原因
Python是以严格的缩进和对齐来标识代码段的,但是混合使用空格和tab键,就会出现诸多问题。为了防止这种混乱,大多数情况下我们会用空格来代替tab键
参考文章: