【问题】
一个python脚本,本来运行正常的,后来写了几行代码,也保证了每一行都是对齐的脚本错误怎么解决行54,但是运行的时候,出现语法错误:
IndentationError: unindent 不匹配任何外部缩进级别
【解决过程】
1.这个错误的最常见原因实际上是未对齐。但是根据报错信息的行数,我去代码里面看了下,没有问题。
全部使用TAB键脚本错误怎么解决行54,对齐良好,没有没有对齐的行数。
2.认为前面注释的内容影响后面语句的语法,所以也删除前面的注释。
结果又是这个语法错误。
3. 折腾了半天,突然想到显示当前python脚本的所有字符,看看有没有特殊字符。
当前的文本编辑器 Notepad++ 似乎有一个可以显示所有字符的设置。
发现,在:
查看 -> 显示符号 -> 显示空格和制表符
然后问题来了:
结果错误的行数是 1580 行:
但是源代码1580行的对齐方式使用了空格点,这与前几行对齐时使用的箭头所指的TAB键不匹配,即代码的对齐方式混合了TAB键和空间:
不支持代码对齐的新 Python 语法混合了 TAB 和空格。于是就出现了上面的错误信息。
知道原因,解决方法很简单:
去把对应的TAB改成空格,统一对齐方式。
在记事本++中,转到:
设置 -> 首选项:
语言 -> 替换为空格(TAB 键):
这样就可以实现了,后续每输入一个TAB,都会自动转换成4个空格。
【总结】
当我在Python中遇到IndentationError时,我会在以后第一次考虑它。是不是因为TAB键和空格混用了。
估计很多人也是这个原因造成的。只记得统一。
请登录后发表评论
注册
社交帐号登录