0
我试图创建一个类的实例来测试我创建的模块是否正常工作。无法在Python中的类实例中设置属性
这里是模块(fileWriter.py),误差似乎是在INIT方法:
class File(object):
'''process the data from a file'''
#fields
#fileName = name of file
#textData = data read from/written to file
#Constructor
def __init__(self, fileName = 'saved_data.txt', textData = ''):
#Attributes
self.fileName = fileName
self.textData = textData
#Properties
@property #getter
def fileName(self):
return self.__fileName
@fileName.setter #setter
def fileName(self, value):
self.__fileName = value
@property #getter
def textData(self, value):
self.__textData = value
#Methods
def saveData(self):
'''appends data to file'''
try:
fileObj = open(self.fileName, 'a')
fileObj.write(self.textData)
fileObj.close()
except Exception as e:
print('You have the following error: ' + str(e))
return('Data successfully saved to file.')
def toString(self):
'''returns text data explicitly'''
return self.fileName + ':' + self.textData
def __str__(self):
'''returns text data implicitly'''
return self.toString()
要测试类,我写了下面的测试工具:
import fileWriter
import fileWriter
#test harness
processorObj = fileWriter.File()
processorObj.fileName = 'test.txt'
processorObj.textData = 'testing, 1, 2, 3...'
strMessage = processorObj.saveData()
print(strMessage)
if __name__ == '__main__':
raise Exception('Don\'t run a module by itself!')
当我运行测试文件时,出现错误:
文件“testFileWriter.py”,第4行,在 processorObj = file Writer.File() 文件 “/Users/Haruka/Documents/python_class/Employees/fileWriter.py”,第19行,在初始化 self.textData =的TextData AttributeError的:不能设置属性
我无法弄清楚self.textData = textData有什么问题。任何人都可以帮忙吗?