如何获取输入到输入框中的信息并将其保存(转储)到文本文件中(json)

How to take information that takes entered into a entry box and save(dump) it in a text file(json)

我创建了一个程序,它应该将用户名和密码转储到 json 文件

但是我在解决它时遇到了问题

请帮忙

def createAccount():
    A = tk.StringVar()
    B = tk.StringVar()
    root1 = Tk()
    root1.resizable(0, 0)
    root1.title('Signup')
    instruction = Label(root1, text='Please Enter new Credentials')
    instruction.grid(row=0, column=0, sticky=E)

    nameL = Label(root1, text='New Username: ')
    pwordL = Label(root1, text='New Password: ')
    nameL.grid(row=1, column=0, sticky=W)
    pwordL.grid(row=2, column=0, sticky=W)

    nameE = Entry(root1, textvariable=A)
    pwordE = Entry(root1, textvariable=B )
    nameE.grid(row=1, column=1)
    pwordE.grid(row=2, column=1)

    signupButton = Button(root1, text='Signup')
    signupButton.grid(columnspan=2, sticky=W)
    root1.mainloop()
    username = A
    password = B
    with open('user_accounts.json', 'r+') as user_accounts:
        users = json.load(user_accounts)
        if username in users.keys():
            print('error')

        else:
                users[username] = [password, "PLAYER"]
                user_accounts.seek(0)
                json.dump(users, user_accounts)
                user_accounts.truncate()
                print("success")

我尝试使用 tk.StringVar()

将用户名和密码转换为字符串

但是显示错误

请提供任何合适的解决方案

tkinter 标签不使用正常的 Python 变量类型。相反,他们使用 tcl 类型,例如 StringVar。要获取此类变量的值,您可以调用它们的 .get() 方法,该方法 returns 是原生 Python 值。现在您可以随心所欲地转换、更改和使用它了:)