【问题标题】:I'm getting an "Unexpected unindent error"我收到“意外的缩进错误”
【发布时间】:2019-10-31 03:58:09
【问题描述】:

我正在创建一个程序,并且我最近开始了异常处理。该程序运行良好几次,但现在我每次启动时都会收到IndentationError,这很奇怪,因为它以前运行良好。它很大,所以我只包括程序的一个 sn-p。如果您需要全部内容,请告诉我。

我可以让它工作的唯一方法是删除命令

我在命令之间添加了一些行,以便您更清楚地识别它们。问题命令在中间。

elif 'python' in cmd:
    pythonProgram = cmd.split(' ')[1]
    execfile(pythonProgram)

elif 'cd' in cmd:
    desired_directory = cmd.split(' ')[1]
    if desired_directory == "..":
        os.chdir('..')
    else:
        try:
            os.chdir(desired_directory)
            print "'%s' Is not a valid directory!" % desired_directory

elif 'ver' in cmd:
    print"JDOS_2", currentVersion

我还尝试对较低的elif 进行散列,并在程序中的下一个elif 语句中得到相同的错误。

这似乎是一个简单的问题,我很可能正在监督某些事情,但是 elif 命令的缩进是相同的。这是错误输出。

  File "/Users/#######/PycharmProjects/untitled/JDOS/SYS64/jdosos.py", line 64
    elif cmd == "ver":
    ^
IndentationError: unexpected unindent

Process finished with exit code 0

而且我在混合空格和缩进时没有遇到任何问题,因为它在我的程序中随处可见。

【问题讨论】:

  • 您的try 没有匹配的except
  • 您的try 没有exceptfinally 案例
  • 您是错过了except 块还是没有包含它?
  • 不完全确定如何在其中实施,但谢谢!
  • 任何关于异常处理的指南都会证明这一点;这是一个要求

标签: python python-2.7 operating-system


【解决方案1】:

有点晚了,但我需要一个匹配的 except 块来配合 try 参数。

这是固定的代码,可以完美运行。

elif 'cd' in cmd:
    desired_directory = cmd.split('cd ')[1]
    if desired_directory == "..":
        os.chdir('..')
    else:
        try:
            os.chdir(desired_directory)
        except OSError as e:
            print("'%s' Is not a valid directory!" % desired_directory)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-24
    • 2012-10-25
    • 2014-10-02
    • 1970-01-01
    • 1970-01-01
    • 2020-07-23
    • 1970-01-01
    • 2021-05-28
    相关资源
    最近更新 更多