我试图从一个类中使用一个变量 - 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