问题:Python文件运行时报TabError: inconsistent use of tabs and spaces in indentation

原因:说明Python文件中混有Tab和Space用作格式缩进。这通常是使用外部编辑器编辑Python文件时,自动采用Tab进行格式缩进。

解决:将Tab转换成4个Space(通常)或者用Python编辑器(如pyDev)格式化。

注意:空格和Tab不能混用,如果你用的是EditPlus,请点击“显示”-> “显示空白字符”->“显示空格和制表符”此时我们可以看到,出现异常的代码行和别的代码行缩进不一致(EditPLus中空格用·表示,Tab用>>表示)

事实上,在Python中,对于缩进有相当严厉的要求:块级别缩进是根据符号和符号个数来进行区分块级别的,在一个代码块中,如果第一行的缩进符号为2个Table,那么块内的所有代码都该用2个Table来缩进,如果第一行代码是2个空格缩进,那么块内余下所有代码都该是2个空格缩进。

因为在Python IDLE中,它是用空格来制作Table的,所以我们通过别的编辑器打开由Python IDLE创建的文件时,才会出现TabError异常。

因此,如果遇到TabError,最好的解决办法就是让编辑器显示空格和指表符号。

如果遇到这样的错误:IndentationError:expected an indented block 说明此处需要缩进,你只要在出现错误的那一行,按空格或Tab(但不能混用)键缩进就行。(如果上一行以“:”结尾,那么下一行需要空格缩进)

遇到IndentationError: unindent does not match any outer indentation level ,是因为代码中有tab和空格混用的情况,显示空格和制表符之后找到混用的地方都改成空格就可以了


版权声明:本文为weixin_45900357原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_45900357/article/details/125020403