我用Python制作游戏并使用PyInstaller将其转换为单个可执行文件。问题是它不能永久保存高分:它可以在运行期间保存和显示它们,但由于高分文件被提取到临时文件夹,因此在运行后不会保存。为了永久保存高分,我该怎么做?
答案 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的位置更改为该文件夹。这样,无论用户放置可执行文件的位置,它总能找到高分。
此示例中的代码无法创建目录,这有点超出了此问题的范围,因此如果需要,请查看其他地方。