Nuke で Python を使用して、選択したノードの名前のリストを取得しようとしています。私が試してみました:
for s in nuke.selectedNodes():
n = s['name'].value()
print n
これにより、選択したノードの名前が個別の文字列として表示されます。各文字列を結合するそれらに対して私にできることは何もありません。3 つの Merge を選択すると、Nuke スクリプト エディタで次のように表示されます。
結果: Merge3 Merge2 Merge1
最後の変数 n を括弧で囲むと、次のようになります。
Result: ['Merge3']
['Merge2']
['Merge1']
それが、それらが別々の文字列であることを私が知っている方法です。選択したノードを返す別の方法を見つけました。私が使用した:
s = nuke.tcl("selected_nodes")
print s
node3a7c000 のような奇妙な名前が返されますが、これらの名前は、nuke.toNode() のようにノードを呼び出すあらゆるもので機能し、すべて 1 行で表示されます。次のように、これらの結果を強制的にリストまたはタプルにしようとしました。
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」)
私の結果はタプルの標準構造を持っているように見えますが、タプルから最初の値を呼び出そうとすると、括弧が返されます。これは、作成したタプルがまだ文字列であるかのようです。
選択したノード名のリストまたはタプルを収集するためにできることはありますか? 何が間違っているのかわからず、最後の解決策がうまくいったはずです。