我用 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/