python脚本运行出现语法错误:IndentationError: unindent does not match any outer indentation level

转载 2015年07月09日 14:03:02

zz:http://www.crifan.com/python_syntax_error_indentationerror/comment-page-1/


问题】 
一个python脚本,本来都运行好好的,然后写了几行代码,而且也都确保每行都对齐了,但是运行的时候,却出现语法错误: 
IndentationError: unindent does not match any outer indentation level

【解决过程】 
1.对于此错误,最常见的原因是,的确没有对齐。但是我根据错误提示的行数,去代码中看了下,没啥问题啊。 
都是用TAB键,对齐好了的,没有不对齐的行数啊。 
2.以为是前面的注释的内容影响后面的语句的语法了,所以把前面的注释也删除了。 
结果还是此语法错误。 
3.后来折腾了半天,突然想到了,把当前python脚本的所有字符都显示出来看看有没有啥特殊的字符。

当前用的文本编辑器Notepad++,好像有个设置,可以显示所有的字符的。 
找到了,在: 
视图 -> 显示符号 -> 显示空格与制表符

notepad   显示空格与制表符

然后就看出问题来了: 
原来错误的行数是1580行:

python error line

但是源码的1580行的对齐用的是点点点的空格,是和前面的几行的对齐所用的箭头表示的TAB键,是不匹配的,即代码的对齐,混用了TAB键和空格:

1580 space and tab mixed
而新的Python语法,是不支持的代码对齐中,混用TAB和空格的。所以出现上述错误提示了。

知道原因了,解决起来就简单了: 
去把对应的TAB,都改为空格,统一一下对齐的风格,即可。 
在Notepad++中,去: 
设置->首选项:

设置 首选项

语言->以空格取代(TAB键):

语言 以空格取代Tab

即可实现,对于以后每次的TAB输入,都自动转换为4个空格。

【总结】

Python中遇到IndentationError,以后第一时间就要想到,是不是由于TAB键和空格混搭使用了。

估计很多人也都是此类原因导致的。记得统一一下就好。


相关文章推荐

Python脚本运行出现语法错误:IndentationError: unindent does not match any outer indentation level

一个python脚本,本来都运行好好的,然后写了几行代码,而且也都确保每行都对齐了,但是运行的时候,却出现语法错误:  IndentationError: unindent does not mat...

【已解决】Python脚本运行出现语法错误:IndentationError: unindent does not match any outer indentation level

【问题】  一个python脚本,本来都运行好好的,然后写了几行代码,而且也都确保每行都对齐了,但是运行的时候,却出现语法错误:  IndentationError: unindent does ...

【已解决】Python脚本运行出现语法错误:IndentationError: unindent does not match any outer indentation level

【问题】  一个python脚本,本来都运行好好的,然后写了几行代码,而且也都确保每行都对齐了,但是运行的时候,却出现语法错误:  IndentationError: unindent does no...
  • ztf312
  • ztf312
  • 2015年08月09日 16:58
  • 614

【已解决】Python脚本运行出现语法错误:IndentationError: unindent does not match any outer indentation level

原创出处:http://www.crifan.com/python_syntax_error_indentationerror/comment-page-1/ 【问题】  一个python脚本,本来...

Python脚本语法错误之:IndentationError: unindent does not match any outer indentation level

【问题描述】 用python写了一个函数嵌套定义的小脚本,发现运行的时候报出了如下错误: IndentationError: unindent does not match any outer ind...

Python脚本运行出现语法错误

Python脚本运行出现语法错误:inconsistent use of tabs and spaces in indentation

《python》IndentationError类的语法错误

python的代码简洁,有着非常严格的缩进问题,强制用户缩进不仅让代码排版更美观,也可以养成良好的习惯。新手刚学python,不熟练,出现的问题会经常多,缩进类的语法错误经常出现,主要还是要写代码,形...

Git常见错误与操作:error: src refspec master does not match any解决办法

Git常见错误与操作:error: src refspec master does not match any解决办法 一、 出现错误 error:src refspec master does n...

错误记录:Java compiler level does not match解决方法

Java com 从别的地方导入一个项目的时候,经常会遇到eclipse报如下错误 Description Resource Path Location Type Java compiler l...

Storm运行出现Client is being closed, and does not take requests any more引起的Netty故障跟踪

Storm运行出现Received invalid messages for unknown tasks. Dropping引起的Netty故障跟踪及解决。...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:python脚本运行出现语法错误:IndentationError: unindent does not match any outer indentation level
举报原因:
原因补充:

(最多只允许输入30个字)