缩进错误:unindent与任何外部缩进级别都不匹配

时间:2017-06-19 16:38:28

标签: python python-2.7 indentation

当我编译下面的Python代码时,我得到IndentationError:unindent与任何外部缩进级别都不匹配

Files = os.listdir(".")
monthNum = 1
totMonths = 0
for year in range(2003, 2016):
    os.chdir('./'+str(year))
    for month in range(1, 13):
        totMonths = totMonths +1
        if (month < 10):
            monthStr = str(year)+"0"+str(month)
        else:
            monthStr = str(year)+str(month)

1 个答案:

答案 0 :(得分:1)

当实际缩进与预期的缩进不匹配时会导致此错误 - 可能的罪魁祸首是制表符v空格和缩进一致性。

例如,以下代码会抛出此错误:

if true:
    return 1
if false:
     return 2

请注意,虽然true语句缩进了4个空格,但false语句缩进了5个。

此示例也会抛出此错误,并且取决于您的文本编辑器可能是不可见的(添加隐藏的字符以供参考):

if true:
....return 1
if false:
⇥   return 2

在这种情况下,true语句使用四个空格字符缩进,而false语句使用制表符号缩进。

除了你提供的IndendtationError之外,它还应该为你提供错误发生的确切行。也就是说,你提供的样本足够小,不会出现这种情况。重新扼杀整个事情应该解决它。