缩进错误:取消缩进与任何外部缩进级别不匹配[重复]

问题描述 投票:0回答:1

当我编译下面的Python代码时,我得到IndentationError: unindent does not match any external indentation level

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)
python python-2.7 indentation
1个回答
1
投票

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

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

if true:
    return 1
if false:
     return 2

请注意,

true
语句缩进 4 个空格,而
false
语句缩进 5 个空格。

此示例也会引发此错误,并且根据您的文本编辑器可能是不可见的(添加隐藏字符以供参考):

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

在这种情况下,

true
语句使用四个空格字符缩进,而
false
语句使用制表符缩进。

连同您提供的 IndendtationError 一起,它应该为您提供发生错误的确切行。也就是说,您提供的样本足够小,取消缩进和重新缩进整个问题应该可以解决它。

© www.soinside.com 2019 - 2024. All rights reserved.