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


版权声明:本文为CSDN博主「HelloWorld_EE」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u010412719/article/details/47089473


python中出现IndentationError:unindent does not match any outer indentation level
今天在网上copy的一段代码,代码很简单,每行看起来该缩进的都缩进了,运行的时候出现了如下错误:

1
2
3
4
5
# 这是Glis遇到的报错
File "xxx.py", line 254
pdb.set_trace()
^
IndentationError: unindent does not match any outer indentation level

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

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

当前用的文本编辑器Notepad++,有个设置,可以显示所有的字符的。
在:
视图 –> 显示符号 –> 显示空格与制表符
这样就可以看到我们Python代码的到底有没有该缩进的都缩进了。

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

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


注:copy过来的一般都是两个空格字符,确实不是缩进符,但看起来却像缩进了一样。


【评论区其他方法】

1
pip install black &&  balck your_python_code.py
打赏
  • 版权声明: 本博客所有文章除特别声明外,均采用 Apache License 2.0 许可协议。转载请注明出处!
  • © 2023 glisses
  • PV: UV:

请我喝杯咖啡吧~

支付宝
微信