Python 2.7 使用二进制文件在python中注册/登录系统
下面的脚本似乎没有执行所需的操作。没有错误。程序在执行时什么也不做。 请告诉我代码出了什么问题,因为我已经很长时间没能解决这个问题了Python 2.7 使用二进制文件在python中注册/登录系统,python-2.7,binaryfiles,Python 2.7,Binaryfiles,下面的脚本似乎没有执行所需的操作。没有错误。程序在执行时什么也不做。 请告诉我代码出了什么问题,因为我已经很长时间没能解决这个问题了 class user_register: #GENERAL AUTOMATIC FUNCTION def __init__(self): self.username='' self.password='' def storedata(self): self.username=raw_input('
class user_register: #GENERAL AUTOMATIC FUNCTION
def __init__(self):
self.username=''
self.password=''
def storedata(self):
self.username=raw_input('Enter username:-')
self.password=raw_input('Enter password:-')
ur=user_register
f=open("user.dat","a+b")
status=0
try:
while True:
ur= pickle.load(f)
if ur.username == self.username:
print '---------------------'
print 'USERNAME HAS ALREADY BEEN TAKEN......please try again'
ur.storedata()
if len(self.password)<8:
print'2'
print 'PLEASE ENTER A PASSWORD CONTAINING MORE THAN 8 CHARACTERS!! `
ur.storedata()
except EOFError:
pickle.dump(ur,f)
print 'YOU HAVE BEEN SUCCESSFULLY REGISTERED'
f.close()
class user_login: #GENERAL AUTOMATIC FUNCTION
def __init__(self):
self.username=''
self.password=''
def storedata(self):
self.username=raw_input('Enter username:-')
self.password=raw_input('Enter password:-')
username=self.username
password=self.password
user_check(username,password)
def user_check(u,p):
f1=open("user.dat","rb")
ul=user_login
try:
while True:
ul=pickle.load(f1)
if ul.username==u and ul.password==p :
print 'LOGIN SUCCESSFUL!!'
user_main_menu()
else:
print 'Wrong combination of username/password!! Please try again!!!!'
ul.storedata()
except EOFError:
f1.close()
def main():
ur=user_register()
ur.storedata
ul=user_login()
ul.storedata
main()
线路
print 'PLEASE ENTER A PASSWORD CONTAINING MORE THAN 8 CHARACTERS!!
缺少结束报价'。此外,主要来说,ur.storedata和ul.storedata语句没有任何作用。如果正在运行函数,则需要包含括号:
它应该做什么?还有,ur=user\u register应该做什么?对象类绑定,如果不这样做就会导致无法解析的引用。就像我说的,它是我正在开发的更大程序的一部分。这个特殊的模块似乎不能正常工作。user_register包含classobjects storedata,用于从新用户获取inputusername和密码,并通过检查二进制文件检查用户名是否已在使用中。如果接受,输入数据将转储到文件中。user\u login通过在同一个二进制文件中检查现有用户名和密码是否正确来检查。实际上,user\u register和user\u login都是函数所在的类。像storedata一样,数据也包含在内。因此,th程序中采用的方法是正确的。顺便说一句,我提出的问题不是语法或运行时错误。相反,这是一个逻辑错误,没有给我正确的输出。
ul.storedata()