Write1 [1.0]
Write1 [12.0]
Write1 ['C:/Users/san/Modeler/']
Write1 ['png']
Write1 ['rgb']
Write1 [True]
Write2 [1.0]
Write2 [1.0]
Write2 ['']
Write2 [' ']
Write2 ['rgb']
Write2 [False]
我想这样措辞 {'Write1':[1.0,12.0,'c:/path','png','rgb',True],'Write2':[1.0,1.0,','','',','rgb',False]} 列表中的值来自核弹.toNode(wNode)[eachAttrib].value() 这就是我想做的
attributes=[]
wnodeData={}
for wNode in writeNodes:
for eachAttrib in ['first','last','file','file_type','channels','use_limit']:
wnodeData[wNode]=attributes
attributes.append(nuke.toNode(wNode)[eachAttrib].value())
比如:
显然,如果你有一个文本文件而不是一个字符串,你应该用以下内容替换for循环:
如果您想实际计算方括号内的值(因此您得到的是
1.0
的浮点值而不是字符串'1.0'
,字符串'png'
而不是字符串"'png'"
,等等),您需要知道它们所用的语言并对其进行解析。看起来它们是Python的一个子集,每个元素要么是没有转义符的单引号字符串文本,要么是非指数格式的浮点文本,要么是布尔文本,但我不会假设在不知道值来自何处的情况下(当然我也不会在不知道值来自何处的情况下调用eval
,因为这样有人就可以在文本文件中插入os.system('rm -rf /')
,然后你就可以对其进行评估。你知道吗应该有用。。。你知道吗
相关问题 更多 >
编程相关推荐