Python中出现IndentationError:unindent does not match any outer indentation level错误的解决方法


Posted in Python onApril 18, 2020

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

IndentationError: unindent does not match any outer indentation level

【解决过程】 

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

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

Python中出现IndentationError:unindent does not match any outer indentation level错误的解决方法

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

Python中出现IndentationError:unindent does not match any outer indentation level错误的解决方法

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

Python中出现IndentationError:unindent does not match any outer indentation level错误的解决方法
而新的Python语法,是不支持的代码对齐中,混用TAB和空格的。所以出现上述错误提示了。

知道原因了,解决起来就简单了: 
去把对应的TAB,都改为空格,统一一下对齐的风格,即可。 

在Notepad++中,去: 

设置->首选项:

Python中出现IndentationError:unindent does not match any outer indentation level错误的解决方法

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

Python中出现IndentationError:unindent does not match any outer indentation level错误的解决方法

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

【总结】

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

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

下面是其他网友的补充

今天在网上copy的一段代码,代码很简单,每行看起来该缩进的都缩进了,运行的时候出现了如下错误: 

Python中出现IndentationError:unindent does not match any outer indentation level错误的解决方法

【解决过程】 

1.对于此错误,最常见的原因是,的确没有缩进。根据错误提示的行数,去代码中看了下,看起来没有什么问题呀,都有缩进,而且语法也没有错误呀。

2.仔细研究了下代码,发现真的看不出什么问题,突然想到了,把当前python脚本的所有字符(包括空格和tab字符)都显示出来看看到底有没有缩进或者是其他特殊的字符。

当前用的文本编辑器Notepad++,有个设置,可以显示所有的字符的。

在: 

视图 ?> 显示符号 ?> 显示空格与制表符 

这样就可以看到我们Python代码的到底有没有该缩进的都缩进了。

最终发现代码报错原因还真是出在这里,错误提示的这行看起来是缩进了,实际上确没有缩进,这就是问题的根源所在。

发现了个问题,发现copy过来的Python代码都没有进行缩进,当我们copy别人的代码时,缩进这点需要额外注意。不要看起来代码缩进了就感觉ok了,实际上是没有缩进的。

总结

使用(多行注释)三个引号的注释, 一定要注意缩进要与上下文保持一致

即同层次代码是几个缩进,就几个缩进。

报上面这个错误的原因是自己在注释'''test'''前面只有三个空格导致。

同层代码是4个空格,偏偏要写8个空格,也会报错的。 

对应的单行注释##, 则对缩进没有任何要求。

可能是三个引号是属于字符串的原因吧
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

Python 相关文章推荐
Python中使用PIL库实现图片高斯模糊实例
Feb 08 Python
python输出当前目录下index.html文件路径的方法
Apr 28 Python
Python快速从注释生成文档的方法
Dec 26 Python
django项目运行因中文而乱码报错的几种情况解决
Nov 07 Python
python爬虫获取淘宝天猫商品详细参数
Jun 23 Python
从django的中间件直接返回请求的方法
May 30 Python
python list格式数据excel导出方法
Oct 31 Python
解决Python pandas plot输出图形中显示中文乱码问题
Dec 12 Python
对python读取zip压缩文件里面的csv数据实例详解
Feb 08 Python
Python中@property的理解和使用示例
Jun 11 Python
Python爬虫实现“盗取”微信好友信息的方法分析
Sep 16 Python
基于Python实现一个春节倒计时脚本
Jan 22 Python
Python装饰器语法糖
Jan 02 #Python
Python WEB应用部署的实现方法
Jan 02 #Python
Python功能点实现:函数级/代码块级计时器
Jan 02 #Python
详解如何在Apache中运行Python WSGI应用
Jan 02 #Python
漂亮的Django Markdown富文本app插件的实现
Jan 02 #Python
对Python发送带header的http请求方法详解
Jan 02 #Python
Django渲染Markdown文章目录的方法示例
Jan 02 #Python
You might like
浅析PHP类的反射来实现依赖注入过程
2018/02/06 PHP
thinkphp5.1 文件引入路径问题及注意事项
2018/06/13 PHP
redis+php实现微博(三)微博列表功能详解
2019/09/23 PHP
《JavaScript高级程序设计》阅读笔记(二) ECMAScript中的原始类型
2012/02/27 Javascript
JS中window.open全屏命令解析及使用示例
2013/12/11 Javascript
JS判断文本框内容改变事件的简单实例
2014/03/07 Javascript
详细解读JavaScript编程中的Promise使用
2015/07/27 Javascript
jQuery 1.9.1源码分析系列(十五)动画处理之缓动动画核心Tween
2015/12/03 Javascript
js调用webservice构造SOAP进行身份验证
2016/04/27 Javascript
Bootstrap响应式侧边栏改进版
2016/09/17 Javascript
微信小程序 wxapp视图容器 view详解
2016/10/31 Javascript
node中使用es5/6以及支持性与性能对比
2017/08/11 Javascript
在页面中引入js的两种方法(推荐)
2017/08/29 Javascript
vue router下的html5 history在iis服务器上的设置方法
2017/10/18 Javascript
node koa2 ssr项目搭建的方法步骤
2020/12/11 Javascript
python threading模块操作多线程介绍
2015/04/08 Python
详解python如何调用C/C++底层库与互相传值
2016/08/10 Python
python Matplotlib画图之调整字体大小的示例
2017/11/20 Python
Python实现简单生成验证码功能【基于random模块】
2018/02/10 Python
使用python3构建文件传输的方法
2019/02/13 Python
python爬虫学习笔记之pyquery模块基本用法详解
2020/04/09 Python
python在一个范围内取随机数的简单实例
2020/08/16 Python
html5 Canvas画图教程(6)—canvas里画曲线之arcTo方法
2013/01/09 HTML / CSS
mui几种页面跳转方式对比总结概括
2017/08/18 HTML / CSS
canvas实现圆形进度条动画的示例代码
2017/12/26 HTML / CSS
Lulu & Georgia官方网站:购买地毯、家具、抱枕、壁纸、床上用品等
2018/03/19 全球购物
北京某科技有限公司C# .net笔试题
2014/09/27 面试题
荷叶圆圆教学反思
2014/02/01 职场文书
《登鹳雀楼》教学反思
2014/04/09 职场文书
学校校庆演讲稿
2014/05/22 职场文书
合作协议书格式
2014/08/19 职场文书
区政府领导班子个人对照检查材料
2014/09/25 职场文书
优秀党员推荐材料
2014/12/18 职场文书
党小组评议意见
2015/06/02 职场文书
JavaScript使用canvas绘制坐标和线
2021/04/28 Javascript
HTML静态页面获取url参数和UserAgent的实现
2022/08/05 HTML / CSS