В основном я пытаюсь сделать в настоящее время скрипт в Nuke, использующий python, который выбирает узлы, выбранные пользователем, и добавляет к ним перетасованные узлы для простого технологического процесса компоновки. Однако я застрял на том, чтобы Nuke добавлял перетасовки на выбранные узлы. Он работает на 1 узел при выборе, но если выбрано несколько, он работает только с первым выбранным. я спросил друга об этом, и она сказала, чтобы попробовать время цикла, так что это код следующим образом:Python in Nuke: кроме 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 говорит мне, что это недействительный синтаксис. Кто-нибудь знает, как я могу это исправить или создать лучшую работу для моего процесса, к которому я пытаюсь идти?
Нет, это не так. Это было для лучшего просмотра, но это не проблема. –
Исключение 'StopIteration' является частью [протокола итератора Python] (http://docs.python.org/2/library/stdtypes.html#iterator-types). Он возникает, когда вы вызываете 'next' на итераторе, у которого больше нет значений. Я совершенно не осведомлен о Nuke, так что вы можете указать, какая из вызовов функций вы ожидаете поднять это исключение? Мне ничего не кажется очевидным, глядя на код. – Blckknght