python练习_编写登陆接口

  • 2020 年 1 月 19 日
  • 筆記

具体需求

  • 输入用户名密码
  • 认证成功后显示欢迎信息
  • 输错三次后锁定

一、 实现思路                                                                                                                                                                                                                                                                                                   

1.读取已注册的用户名和密码:使用re包读取文件,再使用正则表达式提取出用户名和密码,注意这里提取出来的用户名和密码是列表形式,需要将其转换为字符串。具体代码如下:

1 with open('E:selenium-python测试项目loginuser.txt', 'r', encoding='utf-8', newline='') as f: #读取已注册的用户信息  2   for line in f:  3       _username = "".join(re.findall('(.*):',line)) # 正则表达式截取文档中的用户名,并转化为str类型  4       _userpassword = "".join(re.findall(':(.*) ',line))

2:存储密码输入错误的用户名,并统计用户名密码输错的次数:使用re包存储数据到指定文件中,然后打开存储的文件使用正则表达式完全匹配用户名,进行统计。具体代码如下:

 将密码输入错误的用户名存储到指定的文件中

1 with open('E:selenium-python测试项目lockuser.txt', 'a') as f:  # 打开lockuser.txt,如果文件不存在,创建该文件。  2   f.write(username + 'n', )  # 把变量username写入lockuser.txt。这里username必须是str格式,如果不是,则可以转一下。

统计登录账号密码出错次数

1 locktxt =  open("E:selenium-python测试项目lockuser.txt", "r").read() # 打开用户登录错误记录文件  2     error_number = len(re.findall(username+'n', locktxt))# 统计密码错误次数

二、具体代码                                                                                                                                                                                                                                                                                                   

 1 # Author:dengxiao   2 import re   3 print("*******可用账号dx-dx11,密码全部为123")   4 count = True   5 while count :   6     username = input("用户名:")   7     userpassword = input("密码:")   8     locktxt =  open("E:selenium-python测试项目lockuser.txt", "r").read() # 打开用户登录错误记录文件   9     error_number = len(re.findall(username+'n', locktxt))# 统计密码错误次数  10     if error_number >= 3:  11         print("{name}密码已输错三次,已被锁定请联系管理员".format(name=username))  12         continue  13     else:  14         with open('E:selenium-python测试项目loginuser.txt', 'r', encoding='utf-8', newline='') as f: #读取已注册的用户信息  15             for line in f:  16                 _username = "".join(re.findall('(.*):',line)) # 正则表达式截取文档中的用户名,并转化为str类型  17                 _userpassword = "".join(re.findall(':(.*) ',line))  18                 if  username == _username and userpassword == _userpassword:  19                     print("{name}登陆成功".format(name=username))  20                     count = False  21                     break  22                 else:  23                     continue  24         if count :  25             print("账号或密码错误")  26             with open('E:selenium-python测试项目lockuser.txt', 'a') as f:  # 打开lockuser.txt,如果文件不存在,创建该文件。  27                  f.write(username + 'n', )  # 把变量username写入lockuser.txt。这里username必须是str格式,如果不是,则可以转一下。