我一直致力于学校项目扩展的这一点代码,我似乎无法找到解决方案。到目前为止,我一直试图让新用户注册系统正常工作,并且由于此问题而停止了该程序的登录部分。这是我的代码:
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
这是database.txt文件:
######################,#############
testUser,password
admin,administratorPass
答案 0 :(得分:1)
您在此更改了entryNew
和entryNewPass
变量:
global entryNew
global entryNewPass
entryNew = entryNew.get()
entryNewPass = entryNewPass.get()
你声明了这些全局,所以你用一个字符串替换了具有.get()
方法(一个TkInter输入框?)的对象。
为这些变量使用不同的名称:
entry = entryNew.get()
并在您的函数中使用这些新名称:
if entry == username:
您实际上并未在代码中的任何位置使用entryNewPass
。