Python错误:IndentationError: unindent does not match any outer indentation level 的解决
问题描述:
在Aptana编写完Python语句测试运行时经常发现报错如下:
IndentationError: unindent does not match any outer indentation level
运行环境:
Aptana配置好Python环境
问题解决:
-
对于此错误,最常见的原因是,的确没有对齐。但是我根据错误提示,去代码中看了下,并没有发现什么缩进问题。都是对齐好了的,没有不对齐的行数啊。
-
后来折腾了半天,突然想到了,把当前python脚本的所有字符都显示出来看看有没有啥特殊的字符。
-
由于用的是Aptana开发环境,所以又转去查找了Aptana中显示空白符的方法(方法如下);
window ==》Preferences ==》general ==》Text Editors ==》勾选“Show whitespace charaters”
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ULVeTW3L-1595677510954)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20200725165310373.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CdbJJZbL-1595677510957)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20200725165435427.png)]
- 显示后发现注释前面是TAB缩进,而代码前面是空格缩进,使用替换功能,把Tab缩进都换为空格缩进之后,问题解决。
问题深究:
在前一问题解决之后,对有些代码进行快捷注释,并取消注释后,任会出现上述问题,随进一步进行深究。
打开显示空白符,并进行以上的操作进行问题的重现,发现快捷注释后,Aptana会在 # 后自动添加一个空格,而进行快捷注释的取消后,空格并不会被取消,而是只取消了 # 符号,所以会出现以上问题。