我試圖從一個類中使用一個變量 - fileImporter
從類中使用變量到另一個類
但是我與# AttributeError: 'CustomNodeTranslator' object has no attribute 'camName' #
我使用了類似的錯誤提示 - CustomNodeTranslator
,並有該變量在另一個類中使用方法在另外兩個類中,除了這兩個類外,它正在工作。
難道是因爲CustomNodeTranslator是一種特殊情況嗎?看到它被用於插件?
請給我建議。
謝謝。
class CustomNodeTranslator(OpenMayaMPx.MPxFileTranslator):
def __init__(self):
OpenMayaMPx.MPxFileTranslator.__init__(self)
...
...
def reader(self, fileObject, optionString, accessMode):
try:
fullPath = fileObject.fullName()
self.fileHandle = open(fullPath,"r")
camHandle = self.fileHandle
camBaseName = os.path.basename(camHandle.name)
camName = os.path.splitext(camBaseName)[0]
self.camName = camName
class fileImporter():
def __init__(self, order):
test = CustomNodeTranslator()
cameraName, cameraShape = cmds.camera(n=str(test.camName))
camSel.extend((cameraName, cameraShape))
cmds.scale(0.5, 0.5, 0.5)
camBaseName = os.path.basename(camHandle.name)
camName = os.path.splitext(camBaseName)[0]
self.camName = camName
'test.camName'只會在'test.reader(...)'被調用後分配,因爲它不會在'__init__'中被賦值。 – jonrsharpe 2014-09-26 10:18:41
@jonrsharpe所以我認爲,除非我在'__init__'中賦值,否則不可能調用任何其他函數? – dissidia 2014-09-29 02:13:24
目前還不清楚你在問什麼。任何需要在'reader'中首次分配的兩個屬性('fileHandle'和'camName')的情況,如果尚未調用該方法,將會失敗。 – jonrsharpe 2014-09-29 07:27:34