Python “未缩进”与任何外部缩进级别都不匹配。这是老师给我的密码

Python “未缩进”与任何外部缩进级别都不匹配。这是老师给我的密码,python,Python,我正在尝试为班级做我的项目,当我尝试运行它时,总是会出现这个错误 尝试: ^缩进错误:未缩进与任何外部缩进不匹配 水平仪 这是我的密码: author='' try: fh = open( sys.argv[0], encoding="utf8") for line in fh: m = re.search('# *AUTHOR: *([\w\-]+ *[\w\-]+)', line) if m is not None: a

我正在尝试为班级做我的项目,当我尝试运行它时,总是会出现这个错误

尝试:

^缩进错误:未缩进与任何外部缩进不匹配 水平仪

这是我的密码:

author=''
try:
    fh = open( sys.argv[0], encoding="utf8")
    for line in fh:
        m = re.search('# *AUTHOR: *([\w\-]+ *[\w\-]+)', line)
        if m is not None:
            author = m.group(1)
except( IOError, OSError) as err:
    print(err)
    return ''
finally:
    if fh is not None:
        fh.close()
return author.lower()

正如人们所说,你不能有一个条件/循环/期望或任何类型的块,它后面什么都没有。 如果您想捕获错误,但不想对其执行任何操作,只需添加
pass
(当然要有正确的缩进)

此外,只添加注释等于什么也不添加。因此,这将导致相同的错误:

except( IOError, OSError) as err:
    # I want to do nothing

嗯,至少还有一行。。最后的
之后没有任何内容,这意味着python在
err:
之后需要更多内容。如果您不想在
块中执行除
以外的任何操作,它需要包含
pass
是否仍然存在缩进错误?因为它看起来像是你编辑了你的代码来纠正它是的,它仍然在说unindent与任何外部缩进级别都不匹配。我添加了代码状态的其余部分。我忘了把它放在原来的帖子里,但把它编辑进去了。错误是显而易见的。因此,请检查缩进。Python使用缩进的方式与C/C++使用括号{}的方式相同。相同的缩进线属于同一块。如果
try
指令插入函数,则函数中的所有内容都应缩进(并对每行使用相同的缩进,而不是2个空格,3个空格等等)
except( IOError, OSError) as err:
    # I want to do nothing