【问题标题】:# Error: unindent does not match any outer indentation level# 错误:unindent 不匹配任何外部缩进级别
【发布时间】:2018-01-23 06:40:10
【问题描述】:

我是 Python 新手,当我编译下面的 Python 代码时,我得到了

错误:unindent 不匹配任何外部缩进级别

请帮我解决

这是我的脚本

from maya import cmds

sel = cmds.ls(sl=1)
controller = None
preParent = None
for i in sel:
    cmds.select(cl=1)
    if controller == None or cmds.objExists(controller) == False:
        controller1 = cmds.circle( nr=(1, 0, 0 ), name = i+"Ctrl")[0]
    else:
         controller1 = cmds.duplicate(controller, name = i + "Ctrl")[0]

     grp = cmds.group(em =1, name = i+"Grp")
     cmds.parent(controller1, grp)
     pc = cmds.parentConstraint(i, grp, mo=0)
     cmds.delete(pc)
     cmds.pointConstraint(controller1, i, mo=0)
     cmds.orientConstraint(controller1, i, mo=0)
     if preParent != None:
         cmds.parent(grp, preParent)
     preParent = controller1

【问题讨论】:

  • 开头的标签!你需要删除它
  • No tagline in questions,不要随意将文本加粗,并在问题中添加完整的错误消息,包括行号。
  • 并且else块下面的代码缩进了一个额外的空格。
  • 另外,这是一个印刷错误引起的问题。
  • 好的先生......

标签: python


【解决方案1】:

在这里,我通过PyCharm 格式函数运行了您的代码。

from maya import cmds

sel = cmds.ls(sl=1)
controller = None
preParent = None
for i in sel:
    cmds.select(cl=1)
    if controller == None or cmds.objExists(controller) == False:
        controller1 = cmds.circle(nr=(1, 0, 0), name=i + "Ctrl")[0]
    else:
        controller1 = cmds.duplicate(controller, name=i + "Ctrl")[0]

    grp = cmds.group(em=1, name=i + "Grp")
    cmds.parent(controller1, grp)
    pc = cmds.parentConstraint(i, grp, mo=0)
    cmds.delete(pc)
    cmds.pointConstraint(controller1, i, mo=0)
    cmds.orientConstraint(controller1, i, mo=0)
    if preParent != None:
        cmds.parent(grp, preParent)
    preParent = controller1

【讨论】:

  • 你看到else之后的所有代码前面都有一个额外的空格吗?
  • 是的,这似乎已经解决了这个问题。我之前没有做过任何编码,所以以这个错误结束。感谢您帮助我。
猜你喜欢
  • 2017-08-12
  • 2010-12-15
  • 1970-01-01
  • 2021-08-05
  • 2010-10-04
相关资源
最近更新 更多