2017-06-19 66 views
0

当我编译下面的Python代码,我得到IndentationError:当实际压痕不取消缩进不匹配任何外部缩进级别缩进错误:取消缩进不匹配任何外部缩进级别

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) 
+0

你可以发布完整的追溯? –

+1

您的代码在[tag:python-2.x]和[tag:python-3.x] –

+1

上运行得很好'在范围内的月份有一个选项卡...只需使用四个空格 –

回答

1

这个错误造成不符合预期的缩进 - 一个可能的罪魁祸首是制表符v空格和缩进一致性。

例如,下面的代码会抛出这个错误:

if true: 
    return 1 
if false: 
    return 2 

注意的是,虽然true语句由4个空格缩进,在false声明由五个缩进。

这个例子也将抛出这个错误,并根据您的文本编辑器可以是无形的(隐藏字符添加供参考):

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

在这种情况下,true语句使用四个空格缩进,而false语句使用选项卡符号进行缩进。

伴随着你提供的IndendtationError,它应该给你错误发生的确切路线。也就是说,你提供的样本很小,以至于不需要缩进整个事情就可以解决它。

+0

错误也是由混合标签和空格造成的 –

+0

编辑包含该信息 – Ceili

相关问题