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

标签 python pygame pyinstaller

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

最佳答案

使用泡菜: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 的位置更改为该文件夹。这样,无论用户将可执行文件放在哪里,它总是能够找到高分。

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

关于python - 将高分文件检索到 PyInstaller 创建的 .exe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27535612/

相关文章:

python - 在 python 中模拟 zipfile

python - Django : Custom save method with queryset

python-2.7 - pygame 仅在鼠标在游戏窗口上处于事件状态时更新?

python - 如何使用 PIL 加载 16 位/ channel RGB(A) 图像?

python - Pygame 在事件发生后移动 Sprite 坐标

python - Mac 上 Python 中的 MIDI 程序没有声音

python - 如何为 MacOs Big Sur 使用 pyinstaller?

python - 在 Windows 上使用 PyInstaller 丢失 dll 文件

python - 在 Windows 10 上安装 Python 3.7 的 PyInstaller 时出错

python从同时运行的进程访问和更新mysql