我试图获得一个在Nuke中使用Python的选定节点的名称列表。 我试过:
for s in nuke.selectedNodes():
n = s['name'].value()
print n
这给了我所选节点的名称,但作为单独的字符串。 我对它们做不了什么来组合每根弦。如果我 在Nuke脚本编辑器中选择了三个合并:
结果:Merge3 合并2 合并1
如果我把最后一个变量n括在括号中,我得到:
^{pr2}$所以我才知道它们是分开的。我找到了另一种方法 返回所选节点。我用过:
s = nuke.tcl("selected_nodes")
print s
我得到一些奇怪的名字,比如node3a7c000,但这些名字在任何事情上都有用 它调用一个节点,比如核弹音调()而且他们都在一条线上。我 试图将这些结果强制放入列表或元组中,如下所示:
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')
我的结果看起来有元组的标准构造,但是如果我尝试 为了调用元组中的第一个值,我得到了一个圆括号。这个 好像我创建的元组仍然是一个字符串。在
我能做些什么来收集所选节点的列表或元组吗 名字?我不知道我做错了什么,似乎我的最后一次 解决方案本应有效。在
迭代每个节点时,需要将其名称添加到列表(
[]
),然后返回该名称。例如:这将为您提供:
^{pr2}$如果您熟悉列表理解,您还可以使用一个在一行中生成
names
:相关问题 更多 >
编程相关推荐