AttributeError:“str”对象在尝试从tkinter条目Widg获取字符串信息时没有属性“get”

2024-10-03 02:38:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在为一个学校项目扩展写这一点代码,我似乎找不到解决这个问题的方法。到目前为止,我一直试图让新的用户注册系统工作,并已停止工作的登录部分的程序,因为这个问题。这是我的代码:

def newUser():
    usernameTemp = entryNew.get()
    passwordTemp = entryNewPass.get()

    database = {}

    addFile = open("database.txt", "a")
    addFile.write(usernameTemp + "," + passwordTemp + "\n")
    addFile.close()

def userValidation():
    global entryNew
    global entryNewPass
    global valid
    fileCheck = open("database.txt", "r")
    fileCheckData = fileCheck.read()
    fileCheck.close()

    entryNew = entryNew.get()
    entryNewPass = entryNewPass.get()

    database = {}

    for line in fileCheckData.splitlines():
        if line != '':           # ignore empty lines
            (username,password) = line.split(",", 1)
            database[username] = password
            if entryNew == username:
                Error(101)
                valid = False
            if valid == True:
                newUser()
                break

这是数据库.txt文件:

^{pr2}$

Tags: 代码txtgetifdeflineusernameglobal
1条回答
网友
1楼 · 发布于 2024-10-03 02:38:44

您在此处更改了entryNewentryNewPass变量:

global entryNew
global entryNewPass

entryNew = entryNew.get()
entryNewPass = entryNewPass.get()

您声明了这些全局的,因此替换了具有.get()方法的对象(TkInter条目框?)用一根绳子。在

对这些变量使用不同的名称:

^{pr2}$

并在函数中使用这些新名称:

if entry == username:

实际上,您并没有在代码中的任何地方使用entryNewPass。在

相关问题 更多 >