【问题标题】:Unexpected Indent Error at End of File文件末尾出现意外缩进错误
【发布时间】:2015-04-01 16:46:27
【问题描述】:

由于某种原因,在我处于空闲状态的 python 文件末尾时,我收到了一个缩进错误,即使代码块具有正确的间距。此外,当我尝试运行并被告知错误时,它实际上会在代码之后突出显示整行,而不是像往常那样突出显示一行错误缩进代码之前的字符。

这是一个屏幕截图,展示了它突出显示的位置:

作为参考,这是突出显示明显真实的缩进问题时的外观:

代码本身对这个表单有问题:

if yes.lower() == 'y': linkFiles(folders)
raw_input(iprint('= Script Finished, press enter to quit.',True))

还有这个表格:

if yes.lower() == 'y':
    linkFiles(folders)
raw_input(iprint('= Script Finished, press enter to quit.',True))

另外,是的,我已经确认我没有混合制表符和空格。只需在所有这些行上使用空格。

我还检查了文件末尾的任何空格,但即使右括号后没有任何字符,也会发生此错误。并且尝试运行脚本确实会添加一个换行符,但没有其他任何内容。

根据建议,我确实尝试通过命令行运行它并得到了基本相同的结果:

C:\Windows\system32>python "C:\Users\ntreanor\Desktop\User Friendly Scripts\Create file links.py"
  File "C:\Users\ntreanor\Desktop\User Friendly Scripts\Create file links.py", line 135

                                                                             ^
IndentationError: unexpected unindent

【问题讨论】:

  • 尝试将光标放在最后关闭的) 之后,按住 Shift 并点击 End 以选择到行尾,然后点击 Delete。最后,按 Enter 添加换行符,保存文件,然后再次运行。这有帮助吗?
  • 我刚刚检查过,但即使在我删除所有空格之后,错误也会发生。当我尝试运行脚本时,它确实会在最后生成一个换行符,但没有其他不同。
  • 如果通过命令行而不是 IDE 运行程序会发生什么?是否产生任何错误?
  • 似乎有同样的错误,我修改了对我原帖的回复。
  • 所有括号都闭合了吗?如果没记错的话,我想我之前也遇到过这个问题,这是因为代码中并非所有括号都已关闭。

标签: python indentation


【解决方案1】:

这实际上比我想象的要简单。

我正在写一个 try: except: 阻塞整个脚本,主要是因为我正在写一个日志,我希望它吐出我进入日志的任何异常,以便我可以在人们事后进行故障排除使用了我的脚本。这个细节来自另一个问题here

问题是我在编写脚本时被打断了,忘记了我添加了 try 但没有添加 except。所以实际的错误是我错过了整个 except 块。一旦我什至添加了

except: pass

最后,它运行良好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多