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

0 ответов

Другие вопросы по тегам