退出解释器并重新进入后,Pickled文件未加载;相反,变量在python中恢复为base

时间:2017-05-25 00:56:42

标签: python pickle

首先,我的问题是我的代码具有我正在制作的文本游戏的保存功能。问题是,当我加载腌制数据时,它没有正确加载,而是在开始游戏时统计变量。

这是 saveGame()函数的代码:

def saveGame():
statList = {'armed':armed,'arms':arms,'bombs':bombs,'exposed':exposed,'foodDrink':foodDrink,'gold':gold,'happy':happy,'health':health,'heat':heat,'heatTier':heatTier,'month':month,'name':name,'nameWait':nameWait,'path':path,'poster':poster,'propa':propa,'status':status,'raidPts':raidPts}
print('► Saving game...')
with open('savefile', 'wb') as f:
    pickle.dump(statList, f)    
print('► Game saved. You can access it by typing "load" at the title.')
TitleScreen()

这是 loadGame()函数的代码:

def loadGame():
    print('► Loading saved game...')
    with open('savefile', 'rb') as f:
        statList = pickle.load(f)
    print('► Game loaded.')

当我在关闭并重新打开Python之后测试 loadGame()函数时(好像在关闭系统情况时返回),我发现数据是默认的。 / p>

这些是我更改的默认变量:

gold = 350(< - 这是我通过将其更改为355来测试的变量。

name = None(< - 这也改为S.G。

我可以做些什么来保存变量,这样当我从重新进入系统状态播放保存的文件时,统计变量将保持与我上次保存的相同它们?

0 个答案:

没有答案