gpt4 book ai didi

python - 使用 pickle 和 tkinter 保存数据以供以后使用

转载 作者:太空宇宙 更新时间:2023-11-03 17:09:44 25 4
gpt4 key购买 nike

这是我的代码:

import pickle
from tkinter import *
from tkinter.messagebox import *

Game = Tk()

Gold = 0
Multiply = 1

def Save():
with open('objs.pickle', 'wb') as f:
pickle.dump([Gold, Multiply], f)

def Load():
with open('objs.pickle', 'rb') as f:
return pickle.load(f)

def ClickButton():
global Gold
print(Gold)
Gold +=1 * (Multiply)



Load()
GoldButton = Button(Game, height = 15, width = 25, text="Click!", command ClickButton, bg = "purple")
GoldButton.place(x = 160, y = 95)


save = Button(Game, height = 15, width = 25, text="Click to Save", command = Save)
save.place(x = 380, y = 95)


Game.resizable(width=False, height = False)
Game.geometry('700x450')
Game.title("Gold Farm")

我想要它做什么:

  • 从 Pickle 文件中加载变量“Gold”和“Multiply”
  • 将新信息保存到 apon 闭包文件中(Gold 和 Multiply)

问题在于,当我使用文件中的变量重新打开程序时,它只是将 Gold 和 Multiply 设置为其默认值,而不管

这里有什么问题吗?我该如何解决?

最佳答案

您正在丢弃正在加载的数据。 Load 函数不会将数据保存到变量中,它只是返回加载的内容。

您需要保存从Load返回的值:

try:
Gold, Multiply = Load()
except IOError:
Gold, Multiply = 0, 1

关于python - 使用 pickle 和 tkinter 保存数据以供以后使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34222385/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com