Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 使用二进制文件在python中注册/登录系统_Python 2.7_Binaryfiles - Fatal编程技术网

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()