【发布时间】:2016-02-06 21:04:11
【问题描述】:
我有一个创建新角色对象的类。
class Character():
def __init__(self):
self.name = None
self.hp = None
self.mp = None
class Race(Character):
def __init__(self):
super().__init__()
self.race = None
它位于一个名为 char 的模块中。所以我有了创建新游戏的代码。
elif command == "new game":
name_game = input('Name your game: ')
cur_save=open('saves/' + name_game + '.p', 'wb')
player = char.Character()
player_name = input('Name your character: ')
player.name = player_name
player_race = input('What is your race? ')
player.race = player_race
pickle.dump(player, cur_save, -1)
cur_save.close()
现在我想开始游戏并加载输入的玩家姓名和种族。但以下只是将播放器设置为未定义。
cur_save=open('saves/' + name_game + '.p', 'rb')
player = pickle.load(cur_save)
我希望它将 player.name 设置为保存的值,并且与 player.race 相同。 还有什么我应该使用的东西,比如数据库之类的东西(MySQL)
【问题讨论】:
标签: python persistence pickle savestate