将高分文件检索到PyInstaller创建的.exe

时间:2014-12-17 21:59:09

标签: python pygame pyinstaller

我用Python制作游戏并使用PyInstaller将其转换为单个可执行文件。问题是它不能永久保存高分:它可以在运行期间保存和显示它们,但由于高分文件被提取到临时文件夹,因此在运行后不会保存。为了永久保存高分,我该怎么做?

1 个答案:

答案 0 :(得分:2)

使用Pickle:https://docs.python.org/2/library/pickle.html

将高分列表转储到用户计算机上可执行文件旁边的文件中。

import pickle
highscore = 100
pickle.dump(highscore, open('highscore.pkl', 'wb'))

然后,当您的程序首次打开时,将同一文件解压缩到您的高分列表中。

try:
    highscore = pickle.load(open('highscore.pkl', 'rb'))
except IOError:
    highscore = 0

错误处理程序将捕获加载文件无法找到并将highscore设置为0

如果需要,您可以让游戏创建一个像C:/ Program Files / YourGame这样的文件夹,并将highscore.pkl的位置更改为该文件夹。这样,无论用户放置可执行文件的位置,它总能找到高分。

此示例中的代码无法创建目录,这有点超出了此问题的范围,因此如果需要,请查看其他地方。