模拟登陆

Posted 一个好人的博客园

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模拟登陆相关的知识,希望对你有一定的参考价值。

模拟登陆:

1. 用户输入帐号密码进行登陆

2. 用户信息保存在文件内

3. 用户密码输入错误三次后锁定用户

 

def user_list():  # 打印用户名函数
    for k in user_dict:
        print(k)

with open(\'user_dict\',\'r\',encoding=\'utf-8\') as f:
    for line in f:
        user_dict = eval(line.strip())

    with open(\'locked\',\'r+\',encoding=\'utf-8\') as l:
        for line2 in l:
            lock_str = line2

locked = lock_str.split(\'|\')

while True:
    user_list()
    print("选择登陆系统的用户名")
    enter_name = input("输入用户名:").strip()
    count = 0
    if enter_name in locked:
        print("账户{0}已锁".format(enter_name))
        break
    if enter_name in user_dict:
        while count < 3:
            enter_passwd = input("输入用户密码").strip()
            if enter_passwd == user_dict[enter_name]:
                print("登录成功!")
                break
            else:
                count += 1
                print("密码错!")
                try_times = 3 - count
                print("您用的登录名{0}登录密码错误,您还剩{1}次机会".format(enter_name, try_times))
                print("您用的登录名{0}已锁".format(enter_name))
        else:
            lock_str = lock_str+\'|\'+enter_name
            # temp_list.append(enter_name)  # todo how to write to the list
            # temp = str(locked)
            # l.write(temp)
            # l.flush()
            with open(\'locked\', \'r+\', encoding=\'utf-8\') as x:
                x.write(lock_str)
                x.flush()
            break
    if len(enter_name) == 0 or enter_name not in user_dict:continue

\'\'\'
写在后面:
所有程序开始先把事情按照最好的流程撸一遍,
再考虑突发的事情
最后考虑是否要加循环
\'\'\'
View Code

 

以上是关于模拟登陆的主要内容,如果未能解决你的问题,请参考以下文章

(转)博客园登陆__JSEncrypt 分析

selenium 12306模拟登陆

php实现模拟登陆

通过selenium+pyautogui模拟登陆淘宝(完美实现)

作业---模拟登陆

模拟登陆系统