基本上我现在想要做的是在Nuke中使用python设置一个脚本,该脚本将用户选择的节点添加到他们并为他们添加一个简单的合成工作流的shuffle节点。不过,我坚持让Nuke将洗牌添加到选定的节点上。它在选中时在1个节点上工作,但如果选择了多个节点,则它只能在所选的第一个节点上工作。 我问朋友这件事,她说去尝试while循环,所以这是的代码如下:Nuke中的Python:除了StopIteration
while True:
if n in nuke.selectedNodes():
name = n.name()
node = nuke.toNode(name)
blue.setInput(0,node)
green.setInput(0,node)
red.setInput(0,node)
except StopIteration :
break
这一切运作良好,直到除了部分。我已经运行脚本,而没有除外,它冻结了Nuke,显示它无限运行,但我需要它停止。 Nuke告诉我除了是一个无效的语法。有谁知道我可以如何解决这个问题,或者为我的流程创建更好的解决方案?
那不行。它在那里更好地观看它,但那不是问题。 – 2013-03-05 23:47:08
StopIteration异常是[Python迭代器协议](http://docs.python.org/2/library/stdtypes.html#iterator-types)的一部分。当你在一个没有更多值的迭代器上调用next时会引发这个问题。我对Nuke完全一无所知,所以你能说出你期望提出这种异常的函数调用吗?看起来没有什么明显的,看着代码。 – Blckknght 2013-03-06 01:32:07