Numpy.load: вызывает RuntimeError
Пытаясь загрузить переменную pytmx.objects, я могу сделать Numpy.save очень хорошо, но загрузка заставляет его идти в бесконечный цикл возвратов. Кто-нибудь знает, почему и как это исправить? Я использую NumPy Save только потому, что он не может регулярно мариновать. Если кто-нибудь знает другой способ сохранить переменную, я открыт для этих предложений. (Json также не работал.)
Traceback (most recent call last):
File "main.py", line 375, in <module>
game.gameLoop()
File "main.py", line 242, in gameLoop
save = np.load(savefile)
File "C:\Users\tayle_000\python game\Cyber Warfare\py\lib\site-packages\numpy\lib\npyio.py", line 419, in load
pickle_kwargs=pickle_kwargs)
File "C:\Users\tayle_000\python game\Cyber Warfare\py\lib\site-packages\numpy\lib\format.py", line 640, in read_array
array = pickle.load(fp, **pickle_kwargs)
File "C:\Users\tayle_000\python game\Cyber Warfare\py\lib\site-packages\pytmx\pytmx.py", line 214, in __getattr__
return self.properties[item]
(A Ton More)
RuntimeError: maximum recursion depth exceeded
Вот мой код:
def gameLoop(self):
gameExit=False
#print gameMap.layers
if os.path.isfile(os.path.join('saves','game.save')):
savefile = open(os.path.join('saves','game.save'), 'rb')
save = np.load(savefile)
savefile.close()
save=save.tolist()
if save['version']==self.version:
self.worlds['base'].tmx=save['base']
self.worlds['servers'].tmx=save['servers']
self.worlds['res'].tmx=save['res']
self.gain=save['gain']
else:
print "Save file version is incompatible. Starting new game."
else:
print "No save file found. Starting new game."
while not gameExit:
#############Events
for event in pygame.event.get():
if event.type==pygame.QUIT:
save={'version':self.version, 'base':self.worlds['base'].tmx, 'servers':self.worlds['servers'].tmx, 'res':self.worlds['res'].tmx, 'gain':self.gain}
savefile = open(os.path.join('saves','game.save'), 'wb')
np.save(savefile, save)
savefile.close()
gameExit=True
return False