Python实现用户名密码校验与三次锁定机制

江屿
江屿
发布时间:2026-10-13 | 4人浏览过
原创

本文提供Python实现的简易用户名密码校验程序。核心功能包括接收用户输入、验证账号密码匹配度,并在连续输错三次后自动锁定账户。程序依赖同级目录下的login_true.txt存储合法凭证,利用login_lock.txt记录被锁定用户。代码包含详细的逻辑判断与文件处理流程,适合初学者参考学习文件IO及循环控制结构。

本文分享了一个使用Python编写的用户名与密码校验示例代码,供读者参考学习。

功能需求说明

该程序需要实现以下核心功能:

首先,接收用户输入的用户名和密码;其次,在认证成功时显示欢迎信息;最后,若用户连续输错密码达到三次,则对该账户进行锁定处理。

程序运行逻辑说明如下:

具体实现细节请参考代码注释,主要流程包括:第一,获取用户输入的用户名和密码;第二,检查该用户名是否已存在于锁定文件中;第三,验证用户名和密码是否匹配正确。

代码实现与逻辑

相关实现代码如下:


 # 输入用户名密码
 # 认证成功后显示欢迎信息
 # 连续输错三次后锁定
count = 0
while True:
  #输入用户名密码
  username = input("Username:")
  password = input("Password:")
  #打开用户名密码文件
  f = open('login_true.txt')
  #打开锁定用户名文件
  f4 = open('login_lock.txt')
  #判断输入用户名是否存在于锁定文件中
  for line in f4:
    user_name2 = line.strip()
    if username == user_name2:
      print("username is locked!")
      break
  else:
    #判断用户名密码是否正确
    for line in f:
      str = line.strip()
      str2 = ','
      user_name = str[:str.index(str2)]
      pass_word = str[str.index(str2)+1:]
      # print(user_name, pass_word)
      #用户名密码均正确,打印欢迎信息并清空计数器跳出循环
      if username == user_name and password == pass_word:
        print("welcome " + username)
        count = 0
        break
      #用户名正确,密码错误,打印提示信息,计数器加1,并判断计数器是否到3
      elif username == user_name and password != pass_word:
        print("wrong password!")
        count += 1
        print(count)
        #计数器到达3次,将用户名写入锁定文件中
        if count == 3:
          f2 = open('login_lock.txt', "a+")
          f2.write(username+'\n')
          f2.close()
          count = 0

        break
    else:
      print("please check out your username!")
      count = 0
    f.close()

环境配置与注意事项

使用前需注意以下环境配置:

请在Python脚本所在的同一目录下创建两个文本文件:login_true.txt,用于预先存储合法的用户名和密码对。

同时创建login_lock.txt,该文件用于存储被锁定的用户名列表。

以上内容为本文的全部介绍,希望能为读者的学习提供一定帮助,欢迎继续支持本站获取更多技术资源。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表