Я пытаюсь получить список имен выбранных узлов с Python в Nuke. Я пробовал:Получить выбранные имена узлов в список или кортеж в Nuke с Python
for s in nuke.selectedNodes():
n = s['name'].value()
print n
Это дает мне имена выбранных узлов, но как отдельные строки. Я ничего не могу с ними поделать, чтобы объединить каждую строку. Если я отобрали три Слияния, в редакторе сценариев Nuke я получаю:
Результат: Merge3 Merge2 Merge1
Если я оберните последнюю переменную п в скобках, я получаю:
Result: ['Merge3']
['Merge2']
['Merge1']
Вот как я знаю, что это отдельные строки. Я нашел другой способ: вернуть выбранные узлы. Я использовал:
s = nuke.tcl("selected_nodes")
print s
Я получаю нечетные имена обратно, как node3a7c000, но эти имена работают в чем , который вызывает узел, как nuke.toNode(), и все они на одной линии. Я пытался заставить эти результаты в виде списка или кортежа, например, так:
s = nuke.tcl("selected_nodes")
print s
Результат: node3a7c000 node3a7c400 node3a7c800
s = nuke.tcl("selected_nodes")
s2 = s.replace(" ","', '")
s3 = "(" + "'" + s2 + "'" + ")"
print s3
Результат: ('node3a7c000', 'node3a7c400', 'node3a7c800')
Мой результат выглядит как стандартная конструкция кортежа, но если я попробую вызвать первое значение из t он кортеж, я возвращаю скобки. Этот выглядит так, как будто мой созданный кортеж по-прежнему является строкой.
Есть ли что-нибудь, что я могу сделать, чтобы собрать список или набор выбранных узлов имена? Я не уверен, что я делаю неправильно, и кажется, что мое последнее решение должно сработать.
Совершенных ! Это действительно то, что мне нужно! Я тоже пытался что-то с пустыми массивами и добавлял в него значения, но я делал это неправильно. Глупые для петель всегда дают мне тяжелое время. – jakenolan52
@ jakenolan52 Я заметил, что вы не приняли этот ответ. Было ли что-то, что, по вашему мнению, отсутствовало, что я мог бы улучшить? – mhlester
нет, он отлично работает! Это был последний фрагмент, который мне не хватало в инструменте, который я писал. На днях я показывал «Переполнение стека коллеги» на моем телефоне, и я, возможно, ошибся. – jakenolan52