当我编译下面的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)
答案 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之外,它还应该为你提供错误发生的确切行。也就是说,你提供的样本足够小,不会出现这种情况。重新扼杀整个事情应该解决它。