前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python练习_编写登陆接口

python练习_编写登陆接口

作者头像
py3study
发布2020-01-19 11:55:53
8640
发布2020-01-19 11:55:53
举报
文章被收录于专栏:python3

具体需求

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

一、 实现思路                                                                                                                                                                                                                                                                                                   

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

代码语言:javascript
复制
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包存储数据到指定文件中,然后打开存储的文件使用正则表达式完全匹配用户名,进行统计。具体代码如下:

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

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

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

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

二、具体代码                                                                                                                                                                                                                                                                                                   

代码语言:javascript
复制
 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格式,如果不是,则可以转一下。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/03/03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 具体需求
    • 一、 实现思路                                                                                                                                                                                                                                                                                                   
      • 二、具体代码                                                                                                                                                                                                                                                                                                   
      相关产品与服务
      对象存储
      对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档