我在开发游戏的时候,发现一个python脚本,本来都运行好好的,然后写了几行代码,而且也都确保每行都对齐了,但是运行的时候,却出现语法错误:

IndentationError: unindent does not match any outer indentation level

【解决过程】

以下我将提供两种环境对错误进行更改:

Nodepad++:

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

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

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

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


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

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

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

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

Sublime Text3:

直接在View - Indentation 下的命令可控制转换

【总结】

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

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

【亲测有效】Nodepad++/Sublime Text3中Python脚本运行出现语法错误:IndentationError: unindent does not match any outer indentation level解决策略的更多相关文章

  1. 【Python】脚本运行报错:IndentationError: unindent does not match any outer indentation level

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

  2. [Python] 错误“IndentationError: unindent does not match any outer indentation level”是什么意思?

    文本没有对齐,建议打开文本编辑器的Tab显示(我用的Editplus是视图->空白->制表符),看缩进是否合理,调整一致就好了.

  3. python中出现 IndentationError:unindent does not match any outer indentation level

    python中出现IndentationError:unindent does not match any outer indentation level 今天在网上copy的一段代码,代码很简单,每 ...

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

    使用Notepad++编辑python代码运行遇到了这个问题: IndentationError: unindent does not match any outer indentation leve ...

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

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

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

    转自:http://www.crifan.com/python_syntax_error_indentationerror/comment-page-1/ [问题] 一个python脚本,本来都运行好 ...

  7. Python运行语法错误:IndentationError: unindent does not match any outer indentation level

    python脚本没有对齐.新的Python语法,是不支持的代码对齐中,混用TAB和空格的.

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

    运行环境是win7 x64 sublime text2,百度发现是对齐问题. 具体来说是由于有的地方使用了4个空格,有的地方使用了tab键. 代码区直接全选就会看到有的地方是四个点有个地方是一个横线, ...

  9. 【python问题系列--2】脚本运行出现语法错误:IndentationError: unindent does not match any outer indentation level

    缩进错误,此错误,最常见的原因是行之间没有对齐. 参考:http://www.crifan.com/python_syntax_error_indentationerror/comment-page- ...

随机推荐

  1. Linux查看系统负载(CPU和MEM考虑)

    查看占用CPU最高的10个进程 [tidb@:vg_adn_tidbCkhsTest:| head mysql ? Sl Nov22 : /usr/local/mysql/bin/mysqld --b ...

  2. GitKraken 团队项目使用教程

    前期准备:刚下载好要配置些东西,这些跟着教程走就好了,现在主要是讲团队项目的使用,创建分支 和Fork项目到个人仓库,请参考这篇博客的前两个点 1.将项目克隆到本地 打开GitKraken 点击Fil ...

  3. PHP foreach 循环使用"&$val" 地址符“&”

    在熟悉项目代码的时候 看到这样的foreach 循环: foreach($data as &$val){ .... } 第一次看到循环里面使用了地址符“&”,我印象中的这个符号 是直接 ...

  4. APR Recipe

    1,  pt fix 后生成的 icctcl,回到 icc source 后,如果需要eco_route,建议先关掉 timing_driven,因为 icc 与 pt 看到的 timing 情况一般 ...

  5. filebeat配置

    filebeat收集日志配置: filebeat.prospectors: - input_type: log enabled: true paths: - /mydata/erp_datacente ...

  6. Html5多媒体相关的API---video

    Html5多媒体相关的API---video 在HTML5中,新增了两个元素---video元素与audio元素,其中video元素专门用来播放网络上的视频或电影,而audio元素专门用来播放网络上的 ...

  7. lvs+dr模式(关键操作)

    1)  IP配置(配置回环接口添加虚拟ip,让他代为转发) /sbin/ifconfig lo:0 192.168.1.96 broadcast 192.168.1.96 netmask 255.25 ...

  8. ceph状态信息靠谱查询

    1)检查集群的状态汇总信息: [root@haha1 clouder]# ceph -s cluster 8e136e25-77ab-4e0b-b24b-232a7b466cfe health HEA ...

  9. samba服务器配置及window网络磁盘映射

    1. Samba服务器工作原理 客户端向Samba服务器发起请求,请求访问共享目录,Samba服务器接收请求,查询smb.conf文件,查看共享目录是否存在,以及来访者的访问权限,如果来访者具有相应的 ...

  10. Docker搭建Mysql容器

    转载自:http://blog.csdn.net/Mungo/article/details/78521832?locationNum=9&fps=1 本文介绍如何使用docker迅速搭建My ...