このコードは正常に機能します。
allWriteNodes=nuke.allNodes("Write")
test = nuke.allNodes()
for index,each in enumerate(test):
wrtNodelst.insert(index,each.name())
print index, each.name()
sys.stdout.write(pickle.dumps(wrtNodelst))
quit()
except RuntimeError:
sys.stderr.write('could not find %s\n' % target_file)
raise
しかし、別のファイルで読み取ろうとしているこの行はエラーを引き起こします:
print pickle.loads(process.stdout.read())
IndexErrorを与える:リストインデックスが範囲外です...何が原因でピクルスのstdoutデータを読み取れるのか考えてみてください。 トレースバックエラー
Traceback (most recent call last):
File "\RenderUI.py", line 384, in execApp
print pickle.loads(process.stdout.read())
File "D:\Python26\lib\pickle.py", line 1374, in loads
return Unpickler(file).load()
File "D:\Python26\lib\pickle.py", line 858, in load
dispatch[key](self)
File "D:\Python26\lib\pickle.py", line 1203, in load_setitems
mark = self.marker()
File "D:\Python26\lib\pickle.py", line 874, in marker
while stack[k] is not mark: k = k-1
IndexError: list index out of range