我正在尝试在Nuke中使用Python获取选定节点的名称列表。
我尝试过:
for s in nuke.selectedNodes():
n = s['name'].value()
print n
这将给出所选节点的名称,但作为单独的字符串。
我无法对它们做任何事情来组合每个字符串。如果我
在Nuke脚本编辑器中选择了三个合并:
结果:合并3
合并2
合并1
如果我将最后一个变量n括在括号中,我会得到:
Result: ['Merge3']
['Merge2']
['Merge1']
这就是为什么我知道它们是独立的字符串。我找到了另一条路
返回选定的节点。我使用了:
s = nuke.tcl("selected_nodes")
print s
我得到了一些奇怪的名字,比如node3a7c000,但这些名字在任何情况下都有效
它调用一个节点,如nuke。toNode(),它们都在一条线上。我
试图将这些结果强制放入列表或元组,如下所示:
s = nuke.tcl("selected_nodes")
print s
结果:node3a7c000 node3a 7c400 node3a-7c800
s = nuke.tcl("selected_nodes")
s2 = s.replace(" ","', '")
s3 = "(" + "'" + s2 + "'" + ")"
print s3
结果:(“node3a7c000”、“node3a7c400”、“Node3a3c800”)
我的结果看起来是元组的标准构造,但如果我尝试
要调用元组中的第一个值,我会返回一个括号。这
就好像我创建的元组仍然是一个字符串。
我能做什么来收集选定节点的列表或元组吗
名字?我不确定我做错了什么,我的最后一次
这个解决方案应该是有效的。