• 用python编写简易登录接口


    需求:

    • 让用户输入用户名密码
    • 认证成功后显示欢迎信息
    • 输错三次后退出程序
    • 可以支持多个用户登录
    • 用户3次认证失败后,退出程序,再次启动程序尝试登陆时,还是锁定状态

    下面是我写的代码,如果有BUG或者不足之处,还请指出。

    """
    需要先在本地创建一个名为locked_user.txt的文件,才能执行下面的代码。
    """
    import os
    
    current_path = os.getcwd()  # 获取当面目录
    db_username = ['alex', 'wusir', 'oldboy', 'edward']  # 用户名数据库,用户名不能是一样的
    db_password = [123, 321, 456, 123123, 123]  # 密码可以是一样的
    
    locked_file = open(current_path + '/locked_user.txt')  # 打开文件
    locked_info = locked_file.readlines()  # 获取被锁定用户的信息。readlines一次读取所有文件,并返回list.因为我们不止锁定一个用户,所以用这个方法
    locked_file.close()
    
    count = 3
    while count > 0:
        count -= 1
        username = input('username:').lower()
        if (username + '
    ') in locked_info:  # 判断用户是否被锁定,加
    是因为下面用了追加模式,每追加一个用户名就重起一行
            print('用户名已被锁定')
            break
        password = int(input('password:'))
        if username in db_username and password in db_password:  # 用户名和密码都在数据库里才能验证通过
            print('welcome')
            break
        else:
            if username in db_username:
                if count == 0:
                    locked_file = open(current_path + '/locked_user.txt', 'a')  # 在locked_user.txt里用追加模式储存这个用户名,每追加一个重起一行
                    locked_file.write(username + '
    ')
                    locked_file.close()
                    print('登录三次失败,用户名被锁定')
                else:
                    print('用户名或错误,你还有{}次机会'.format(count))
            else:
                if count == 0:
                    print('用户名不存在,登陆失败')
                else:
                    print('用户名不存在,你还有{}次机会'.format(count))
    
    """
    这个登陆系统有两个缺陷:
    1.需要先创建一个名为locked_user.txt的文件才行,否则会报错,目前还不会用代码让python去自动创建名为locked_user.txt的文件
    2.其实只有在第三次输入用户名、并且用户名在数据库的时候才会被锁定。不知道一般的网站登录系统是不是这样,是不是系统会判断3次输入一样的用户名才会给锁定。
    """

  • 相关阅读:
    Colmap在centos7下的编译
    图像搜索三-局部特征SIFT
    docker的基本概念
    图像搜索(二)-全局特征
    图像搜索(一)-好特征
    Android图片生成器
    Android Studio Prower Save Mode问题
    finished with non-zero exit value 1
    安装pod程序
    小米刷入Recovery
  • 原文地址:https://www.cnblogs.com/lshedward/p/9904325.html
Copyright © 2020-2023  润新知