python-用户登录小程序

这个只是随便写写,估计还有错误,可我不想去改,如果有错误,有缘人就改了吧!

python-用户登录小程序
{zhangS: {state: 1, passwd: 123456}}
user_data

 

1.根据文件内的用户名来判断。
2.如果存在,会让输入密码,然后显示登陆成功,
3.如果不存在,则会让新建用户,但是我没有做检查,如果新建的用户和文件内的数据重叠,则会覆盖原文件,这个时候你可以加一个判断,如果该用户已经存在,就不让新建。
4.输入用户后,则会检查“state”,如果不为“0“,则为锁定状态。
5.输入密码超过四次,则会锁定。
__author__ = Administrator
def user(break_false=True,count=0):
    with open("user_data","r+",encoding="utf_8") as f:
        user_eval=eval(f.read())
        print("\033[31m****欢迎来到登录界面****\033[0m")
        while break_false:
            username=input("\033[32m输入您的用户名:\033[0m")
            if username in user_eval:
                if user_eval[username]["state"] =="0":
                    while break_false:
                        password=input("\033[32m输入您的密码:\033[0m")
                        if password ==user_eval[username]["passwd"]:
                            print("\033[31m登录成功...\033[0m")
                        else:
                            print("\033[31m密码错误,请重新输入...\033[0m")
                            if count == 3:
                                print("\033[31m密码错误次数过多,已锁定,请联系管理员...\033[0m")
                                user_eval[username]["state"]="1"
                                f.seek(0)
                                f.write(str(user_eval))
                                f.flush()
                                break_false=False
                            count +=1
                else:
                    print("\033[31m该账户已被锁定,请联系管理员...\033[0m")
                    break_false=False
            else:
                choise=input("\033[31m该账户不存在,是否新建[Y/N]...\033[0m")
                if choise =="y" or choise=="Y":
                    New_Construction()
                    exit()
                else:
                    print("\033[31m已退出...\033[0m")
                    break_false=False
def New_Construction(state="0"):
    with open("user_data","r+",encoding="utf_8") as f1:
        New_user=eval(f1.read())
        print("\033[31m****欢迎来到新建用户界面****\033[0m")
        new_username=input("\033[32m输入您的用户名:\033[0m")
        new_password=input("\033[32m输入您的密码:\033[0m")
        New_user[new_username]={"passwd":new_password,"state":state}
        f1.seek(0)
        f1.write(str(New_user))
        f1.flush()
        print("\033[31m****新建用户成功****\033[0m")
user()

 

python-用户登录小程序

上一篇:Linux 开源生态系统联盟的成立是为了什么?


下一篇:EXCHANGE2003总结系列-4:SMTP连接器建立完成后,作过滤是不是不生效,用我下面的小程序解决。