为什么这是Python中意外的缩进?
当我注释掉except的打印时,我得到了错误为什么这是Python中意外的缩进?,python,python-2.7,Python,Python 2.7,当我注释掉except的打印时,我得到了错误 #!/usr/bin/python try: f = open("/home/masi/r.raw", "r+") aBuf = f.seek(4) except: print "Error at position : ", position events = [] for i in range(100): aBuf = f.seek(4); try: if aBuf[:4] == b'
#!/usr/bin/python
try:
f = open("/home/masi/r.raw", "r+")
aBuf = f.seek(4)
except:
print "Error at position : ", position
events = []
for i in range(100):
aBuf = f.seek(4);
try:
if aBuf[:4] == b'\xFA\xFA\xFA\xFA':
print("E")
except:
# print "\0"
f.close()
我想我需要试一试,除非if子句经常是假的
为什么我会得到这个意外的索引?
除外,
需要一个或多个语句
你可以写:
f.close()
^
IndentationError: expected an indented block
警告如评论中所述,使用
不是一个好的做法,除了:pass
请参阅。
,除非
需要一条或多条语句
你可以写:
f.close()
^
IndentationError: expected an indented block
警告如评论中所述,使用
不是一个好的做法,除了:pass
请参阅。来自events=[]和down的代码需要位于first try.块的内部。f.close()超出范围 来自events=[]和down的代码需要位于first try.块的内部。f.close()超出范围 除了之外,您的
需要一个有效的缩进块。它没有。这就是它失败的原因。您可以在此处使用pass
。但要当心Jabberwocky并牢记在心,因为你们的except块并没有指令。您可以使用pass
此代码除了第二个块中没有任何实际代码之外,还有其他问题。没有返回值,因此aBuf将始终为。当您说“我需要尝试Exception,因为if子句经常为false”时,您是否认为如果您的if
计算结果为false
,将触发except
块?因为事实并非如此。在这种情况下,您要查找的是else
。您的except
需要一个有效的缩进块。它没有。这就是它失败的原因。您可以在此处使用pass
。但要当心Jabberwocky并牢记在心,因为你们的except块并没有指令。您可以使用pass
此代码除了第二个块中没有任何实际代码之外,还有其他问题。没有返回值,因此aBuf将始终为。当您说“我需要尝试Exception,因为if子句经常为false”时,您是否认为如果您的if
计算结果为false
,将触发except
块?因为事实并非如此。在这种情况下,您要查找的是else
。很好的捕获,错过了空的except。您如何避免传递到这里的except块?如果所需的行为是静默,您可以传递,但您应该指定异常的类型。except
的问题是。捕捉良好,错过了空的except。如何避免传递到此处的except块?如果所需的行为是静默,则可以传递,但应指定异常的类型。除了
之外,的问题是,它没有超出范围。Python中的作用域不是这样工作的。如果这就是问题所在,他会得到一个名称错误
,而不是缩进错误
。这并不超出范围。Python中的作用域不是这样工作的。如果这就是问题所在,他会得到一个namererror
,而不是indicationerror
。