Python脚本报错:IndentationError: ‘unindent does not match any outer indentation level’

老虎说测试 大话测试字数 550阅读1分50秒阅读模式
摘要今天在做安卓自动化测试的时候发下,一段Python脚本运行就报错,代码只有简单的几行,而且能定位到是第几行报错的,但是就是看不出语法错误,真是奇了怪了,但是遇到问题了,还是必须得解...

今天在做安卓自动化测试的时候发下,一段Python脚本运行就报错,代码只有简单的几行,而且能定位到是第几行报错的,但是就是看不出语法错误,真是奇了怪了,但是遇到问题了,还是必须得解决掉,就开始了如下的分析。

首先分析这个单词“IndentationError”,“Indentation”就是缩格的意思,因此大概和缩格有关系。文章源自陈学虎-https://chenxuehu.com/article/2017/07/6894.html

在看网友的帖子中,我关注到了一句话:文章源自陈学虎-https://chenxuehu.com/article/2017/07/6894.html

 文章源自陈学虎-https://chenxuehu.com/article/2017/07/6894.html

在python里头,空格和tab是区分开的,二者混在一起就会报错,要么只用空格,要么只用tab。文章源自陈学虎-https://chenxuehu.com/article/2017/07/6894.html

 文章源自陈学虎-https://chenxuehu.com/article/2017/07/6894.html

因为我是在Notepad++中编辑的,因此果断设置,查看显示全部字符后的效果,设置方式如下:文章源自陈学虎-https://chenxuehu.com/article/2017/07/6894.html

 文章源自陈学虎-https://chenxuehu.com/article/2017/07/6894.html

视图 -> 显示符号 -> 显示空格与制表符文章源自陈学虎-https://chenxuehu.com/article/2017/07/6894.html

 文章源自陈学虎-https://chenxuehu.com/article/2017/07/6894.html

然后我们就能惊喜的发现错误了在哪里了,首先,我们来看看运行脚本时候的报错:文章源自陈学虎-https://chenxuehu.com/article/2017/07/6894.html

 

Python脚本报错:IndentationError: ‘unindent does not match any outer indentation level’-图片1

 

然后我们去看下编辑器中的代码选择:

 

Python脚本报错:IndentationError: ‘unindent does not match any outer indentation level’-图片2

 

小伙伴们,是不是看出点什么端倪来了,不管怎么样,我们先做做调整,看效果如何。

 

我们使用Notepad++的功能自动去解决这个问题,为了保证以后能得到统一的设置:

 

设置->首选项->语言,勾选“以空格取代”

 

Python脚本报错:IndentationError: ‘unindent does not match any outer indentation level’-图片3

 

然后我将有问题的位置做出调整,运行脚本,发现问题就消失了。

 

以后请记住,在代码开发中,我们推荐是用4个空格进行缩进,不要使用TAB缩进代码,为了规范,也为了减少出现乱七八糟的问题。

 

 

 最后更新:2017-8-14
  • 版权声明:本文为原创文章,转载请附上原文出处链接及本声明。
  • 转载请注明:Python脚本报错:IndentationError: ‘unindent does not match any outer indentation level’ | https://chenxuehu.com/article/2017/07/6894.html