我为什么会收到此错误->(IndentationError:意外的unindent)?

时间:2020-06-28 01:39:32

标签: python-3.x indentation

编辑:这是整个代码https://pastebin.com/Njp9AsP4

这是给我错误的代码:

def save_file_as():
'''Save new file or save existing file with another name'''
filename = sg.popup_get_file('Save As', save_as=True, no_window=True)
try:
    if filename:
        file = pathlib.Path(filepath)
        file.write_text(values.get('_BODY_'))
        filename = filepath.split('/')
        window.TKroot.title(filename[-1] + '- memopad')
        return file
except:
    pass

这是错误:

[Running] python -u "d:\python\memopad v1.py"
  File "d:\python\memopad v1.py", line 51
    def save_file_as():
    ^
IndentationError: unexpected unindent

我首先尝试用Google搜索它,但只能找到那些排除了以下情况的人:女巫不是我的问题。

然后我尝试删除try:和except:并且令我惊讶的是错误仍然存​​在。

所以它的凌晨2点和我决定创建一个stackoverflow帐户,看看这里有人可以帮忙。

其他信息:(使用python3.8.3的即时通讯)(使用Windows 10的即时通讯)(使用vscode的即时通讯)(以及我要编程的nube)

1 个答案:

答案 0 :(得分:1)

此错误的原因是您没有关闭先前代码中的try语句,请立即尝试

def save_file(file):
    '''Save file instantly if already open; otherwise use `save-as` popup'''
    try:
        if file:
            file.write_text(values.get('_BODY_'))
        else:
            save_file_as()
    except:
        pass  
 
def save_file_as():
    '''Save new file or save existing file with another name'''
    filename = sg.popup_get_file('Save As', save_as=True, no_window=True)
    try:
        if filename:
            file = pathlib.Path(filepath)
            file.write_text(values.get('_BODY_'))
            filename = filepath.split('/')
            window.TKroot.title(filename[-1] + '- memopad')
            return file
    except:
        pass