我当前正在执行NEA,并且登录阶段遇到问题。这是我的注册码:
def login_create():
import pickle
import os
new_login_filename = 'new_login.dat'
login_list = []
if os.path.exists(new_login_filename):
yeet = open(new_login_filename,'rb')
pickle.load(yeet)
new_login = username, password
login_list.append(new_login)
with open(new_login_filename,'ab') as wfp:
pickle.dump(login_list, wfp)
with open(new_login_filename,'rb') as rfp:
login_list = pickle.load(rfp)
它将注册的用户名和密码保存到一个名为new_login的.dat文件中。我似乎无法解决如何使登录生效。这是我目前拥有的:
def login():
import pickle
usernameV = False
passwordV = False
username_login = input("Enter your Username")
password_login = input("Enter your Password")
f = open("new_login.dat","rb")
for i in range(len(new_login)):
if username_login in new_login[i][0]:
print("Valid Username")
usernameV == True
elif password_login in new_login[0][i]:
print("Valid Password")
passwordV == True
elif usernameV == True and passwordV == True:
valid = True
return valid
f.close()
我收到未定义new_login的错误,然后根本不起作用。由于我一直在努力解决所有问题,并且无所不在,我无所事事。
答案 0 :(得分:0)
f = open("new_login.dat","rb")`
for i in range(len(new_login)):
...
您已将文件对象分配给名称f
,然后在下一行中使用名称new_login
-您是否打算将其分配给new_login
?遍历文件的规范方法是
with open("new_login.dat","rb") as new_login:
for line in new_login: #you don't have to use "line" you can use whatever name you want
if username_login in line[0]:
....