报错:IndentationError:unindent does not match any outer indentation level

http://www.cnblogs.com/heimanba/p/3783022.html 看这里

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

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

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

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

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


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

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

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

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

【总结】

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

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

时间: 2024-11-10 08:04:05

报错:IndentationError:unindent does not match any outer indentation level的相关文章

Python 报错 IndentationError: unindent does not match any outer indentation level

众所周知,Python语法要求在一份运行代码中的所有for,if/else的语句':'的下一行要统一缩进量(有’一个制表符(TAB键)‘,’两个空格‘,和’三个空格‘可以选择),如果缩进量不统一(比如TAB键和四个空格混用),则程序便会报错IndentationError: unindent does not match any outer indentation level(缩进不匹配任何外在的缩进级别) 需要注意的是,即使Tab键的长度和四个空格一样长,两者一起用依然还是会报错... 这种情

python报错 IndentationError: unindent does not match any outer indentation level

这个是缩进问题,重新将行前面的空格删掉,换位tab python报错 IndentationError: unindent does not match any outer indentation level,布布扣,bubuko.com python报错 IndentationError: unindent does not match any outer indentation level

IndentationError: unindent does not match any outer indentation level

先上一个有用的连接:http://www.crifan.com/python_syntax_error_indentationerror/comment-page-1/ IDE用的Sublime Text 2,绝大多数时候自动对齐没有问题,但是把一段代码剪切换位置后始终报错IndentationError: unindent does not match any outer indentation level,目测是没有任何问题的.最终的解决方法是:舍弃复制,手工重码. 前前后后用这个原始的方法

报错内容 IndentationError: unindent does not match any outer indentation level

环境介绍 基本<Python 基础教程(第2版 修订版)> 作者:[挪] Magnus Lie Hetland 司维 曾军崴 谭颖华 译 操作系统:CentOS release 6.9 (Final) python版本:Python 2.6.6 程序编辑器:VIM - VI IMproved 7.4 代码: #!/usr/bin/env python database = [ ['albert','1234'], ['dilbert','4242'], ['smith','7524'], ['

python中出现IndentationError:unindent does not match any outer indentation level错误

python中出现IndentationError:unindent does not match any outer indentation level 今天在网上copy的一段代码.代码非常easy,每行看起来该缩进的都缩进了.执行的时候出现了例如以下错误: [解决过程] 1.对于此错误,最常见的原因是,的确没有缩进. 依据错误提示的行数,去代码中看了下,看起来没有什么问题呀,都有缩进.并且语法也没有错误呀. 2.细致研究了下代码,发现真的看不出什么问题.突然想到了,把当前python脚本的

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

[问题] 一个python脚本,本来都运行好好的,然后写了几行代码,而且也都确保每行都对齐了,但是运行的时候,却出现语法错误: IndentationError: unindent does not match any outer indentation level [解决过程] 1.对于此错误,最常见的原因是,的确没有对齐.但是我根据错误提示的行数,去代码中看了下,没啥问题啊. 都是用TAB键,对齐好了的,没有不对齐的行数啊. 2.以为是前面的注释的内容影响后面的语句的语法了,所以把前面的注释

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

[问题] 一个python脚本,本来都运行好好的,然后写了几行代码,而且也都确保每行都对齐了,但是运行的时候,却出现语法错误: IndentationError: unindent does not match any outer indentation level [解决过程] 1.对于此错误,最常见的原因是,的确没有对齐.但是我根据错误提示的行数,去代码中看了下,没啥问题啊. 都是用TAB键,对齐好了的,没有不对齐的行数啊. 2.以为是前面的注释的内容影响后面的语句的语法了,所以把前面的注释

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

http://www.crifan.com/python_syntax_error_indentationerror/ [问题] 一个python脚本,本来都运行好好的,然后写了几行代码,而且也都确保每行都对齐了,但是运行的时候,却出现语法错误: IndentationError: unindent does not match any outer indentation level [解决过程] 1.对于此错误,最常见的原因是,的确没有对齐.但是我根据错误提示的行数,去代码中看了下,没啥问题啊

空格和TAB键混用错误:IndentationError: unindent does not match any outer indentation level

转自:http://www.crifan.com/python_syntax_error_indentationerror/comment-page-1/ [已解决]Python脚本运行出现语法错误:IndentationError: unindent does not match any outer indentation level 2012 年 3 月 8 日 下午 9:52crifan已有107701人围观9个评论 [问题] 一个python脚本,本来都运行好好的,然后写了几行代码,而且