文件结尾处出现意外缩进错误

时间:2015-04-01 16:46:28

标签: python indentation

由于某种原因,我在IDLE的python文件的末尾我得到一个缩进错误,即使代码块有适当的间距。此外,当我尝试运行并告知错误时,它实际上突出显示代码后面的整行,而不是像通常那样突出显示错误缩进代码行之前的字符。

这是一个截图,展示了它的亮点: Syntax Error Highlighting Unusual Place

作为参考,这是突出显示一个明显真实的缩进问题时的外观: Syntax Error Highlighting Normal Place

代码本身存在以下形式的问题:

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

1 个答案:

答案 0 :(得分:9)

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

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

问题是我在编写脚本时被打断了,忘记了我添加了尝试但没有添加。所以实际的错误是我错过了整个除了块。有一次我甚至刚刚添加

except: pass

最后,它运行良好。