请注意,如果你去网上查这个错误都会告诉你在有错误那一行重新缩进,然而当你缩进正确时它还是报错,那就有可能不是这一行的问题.
例如我碰到的这个问题:
for line in list:
#print(line[0:10])
if(line[0:10] == "A2US1_time"):
tmp = float(line[11:])
if(tmp >= 500):
j = j + 1
#print("NO",a,tmp)
else:
print("a1",a,tmp)
sum += tmp
a = a + 1
if line[0:10] == "A2US2_time":
tmp1 = float(line[11:])
print("a2",a,tmp1)
sum += tmp1
a = a + 1
if(line[0:10] == "A2US3_time"):
tmp2 = float(line[11:])
print("a3",a,float(line[11:]))
sum += float(line[11:])
a = a + 1
if line[0:10] == "A2US4_time":
tmp3 = float(line[11:])
print("a4",a,tmp3)
sum += tmp3
a = a + 1
if line[0:13] == "Recovery_time":
tmp3 = float(line[14:])
print("a5",a,tmp3)
sum += tmp3
a = a + 1
#print(line)
明明缩进正确,而且不管你在这一行换空格还是tab键她总是报下面的错误
roc@roc-Lenovo-G40-70:~/cipollaTestData$ python cip2.py
File "cip2.py", line 28
tmp2 = float(line[11:])
^
IndentationError: expected an indented block
这种情况下,有可能不是这一行的错误, 因为,在同一个循环体或者函数体中,相同地位的语句,如果使用tab必须都使用tab,使用空格就都使用空格,所以可能上面的同等地位的语句缩进与这一行不一致.
解决方法:重新修改上一个或者上上一个if语句的缩进,使相同地位的if语句保持相同缩进