python实现用户名密码校验
Python 实现用户名密码校验是常见的身份验证场景,在网络应用、简单脚本或者小型系统中广泛应用。以下是对这个主题的详细解析: 我们需要实现一个简单的登录系统,它包括以下几个核心功能: 1. **输入用户名和密码**:用户在终端上输入他们的用户名和密码,这些值被存储在变量 `username` 和 `password` 中。 2. **检查用户名是否被锁定**:程序会打开一个名为 `login_lock.txt` 的文件,这个文件中记录了被锁定的用户名。如果当前输入的用户名在这个文件中,系统会提示“用户名已锁定”。 3. **验证用户名和密码**:程序打开另一个文件 `login_true.txt`,这个文件包含了正确的用户名和密码组合(通常是用逗号分隔)。程序逐行读取这个文件,比较输入的用户名和密码是否与文件中的匹配。如果匹配,系统会显示欢迎信息并清空计数器;如果只匹配到用户名但密码错误,会提示错误并增加计数器;如果两者都不匹配,提示用户检查用户名。 4. **错误处理和锁定机制**:当用户连续三次输入错误密码时,系统会将该用户名写入 `login_lock.txt` 文件,表示此用户名已被锁定。同时,计数器重置为零,以便于下次登录尝试。 在上述代码中,可以看到以下关键点: - 使用 `open()` 函数打开文件,如 `f = open('login_true.txt')` 和 `f4 = open('login_lock.txt')`。 - 使用 `for` 循环遍历文件的每一行,`for line in f4:` 和 `for line in f:`。 - 使用 `strip()` 函数去除字符串首尾的空白字符,如 `line.strip()`。 - 使用 `index()` 方法查找字符串中的特定字符,如 `str.index(str2)` 用于找到逗号的位置。 - 判断条件语句 `if username == user_name and password == pass_word:` 和 `elif username == user_name and password != pass_word:` 分别处理正确的登录和密码错误的情况。 - 文件操作,如追加写入 `f2 = open('login_lock.txt', "a+")` 和 `f2.write(username+'\n')`。 为了运行这段代码,你需要在与 Python 脚本相同的目录下创建两个文本文件: - `login_true.txt`:存储正确的用户名和密码,每行一个用户,格式为“用户名,密码”。 - `login_lock.txt`:空文件,用于存放被锁定的用户名,每行一个用户名。 确保你的用户名和密码数据正确地存放在 `login_true.txt` 文件中,然后运行程序即可进行用户名密码校验。通过这种方式,你可以构建一个基本的认证系统,虽然它不包含加密或安全措施,但对理解基础的身份验证逻辑很有帮助。在实际应用中,通常会使用更安全的存储和验证方法,例如哈希和盐值。
![py](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![text/x-java](https://img-home.csdnimg.cn/images/20210720083646.png)
![py](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![py](https://img-home.csdnimg.cn/images/20210720083646.png)
![py](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![tar](https://img-home.csdnimg.cn/images/20210720083646.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/release/download_crawler_static/12854146/bg1.jpg)
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/default.jpg!1)
- 粉丝: 6
- 资源: 960
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)