-1
創建類的實例,我試圖從對象的文件中創建類的實例:從文件在Python
MyCube,2,3,4
FancyCube,5,3,3
AngryCube,5,5,5
其中第一列是實例的名稱。
class cube(object):
def __init__(self, X, Y, Z):
self.X = X
self.Y = Y
self.Z = Z
def filetest():
filename = 'CubeDB.txt'
ins = open(filename, 'r')
for line in ins:
name, X, Y, Z = line.rstrip('\n').split(',')
vars()[name] = cube(X, Y, Z)
filetest()
print MyCube.X
我已經在這個黑客一段時間,上面的是最近我實現我能找到,但我得到這個錯誤:
File "classtest.py", line 21, in filetest
vars()[name] = cube(X, Y, Z)
TypeError: 'str' object is not callable
有什麼想法? 謝謝
我的猜測是'vars'被設置爲一個字符串某處cube' –
以上'爲什麼不漲行拆分成片看到的兩個函數調用這是提高? 'c = cube(X,Y,Z)','v = vars()'和'v [name] = c'。那麼,我們不會去爭論什麼地方出了問題,而是會知道。 – abarnert
首先,使用'vars()'是一個糟糕的主意,其次'函數內的'vars()'不會創建一個全局變量。 –